struct Debug::DWARF::LineNumbers::Register

Overview

The state machine registers used to decompress the line number sequences.

:nodoc:

Defined in:

debug/dwarf/line_numbers.cr

Constructors

Instance Method Summary

Instance methods inherited from struct Struct

==(other) : Bool ==, hash(hasher) hash, inspect(io : IO) : Nil inspect, pretty_print(pp) : Nil pretty_print, to_s(io) to_s

Instance methods inherited from struct Value

==(other : JSON::Any)
==(other : YAML::Any)
==(other)
==
, dup dup

Instance methods inherited from class Object

!=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other)
===
, =~(other) =~, class class, dup dup, hash(hasher)
hash
hash
, inspect(io : IO)
inspect
inspect
, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json
to_json
, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ")
to_pretty_json
, to_s
to_s(io : IO)
to_s
, to_yaml(io : IO)
to_yaml
to_yaml
, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as

Constructor methods inherited from class Object

from_json(string_or_io, root : String) : self
from_json(string_or_io) : self
from_json
, from_yaml(string_or_io : String | IO) : self from_yaml

Constructor Detail

def self.new(is_stmt) #

[View source]

Instance Method Detail

def address : UInt64 #

The Program Counter (PC) value corresponding to a machine instruction generated by the compiler.


[View source]
def address=(address : UInt64) #

The Program Counter (PC) value corresponding to a machine instruction generated by the compiler.


[View source]
def basic_block : Bool #

Indicates that the instruction is the beginning of a basic block.


[View source]
def basic_block=(basic_block : Bool) #

Indicates that the instruction is the beginning of a basic block.


[View source]
def column : UInt32 #

Column number within the source file. Starting at 1; the value 0 means that a statement begins at the "left edge" of the line.


[View source]
def column=(column : UInt32) #

Column number within the source file. Starting at 1; the value 0 means that a statement begins at the "left edge" of the line.


[View source]
def discriminator : UInt32 #

Identifies the block to which the instruction belongs.


[View source]
def discriminator=(discriminator : UInt32) #

Identifies the block to which the instruction belongs.


[View source]
def end_sequence : Bool #

Terminates a sequence of lines. Other information in the same row (of the decoded matrix) isn't meaningful.


[View source]
def end_sequence=(end_sequence : Bool) #

Terminates a sequence of lines. Other information in the same row (of the decoded matrix) isn't meaningful.


[View source]
def epilogue_begin : Bool #

Indicates the instruction is one where execution should be suspended (for an exit breakpoint).


[View source]
def epilogue_begin=(epilogue_begin : Bool) #

Indicates the instruction is one where execution should be suspended (for an exit breakpoint).


[View source]
def file : UInt32 #

Source file for the instruction.


[View source]
def file=(file : UInt32) #

Source file for the instruction.


[View source]
def is_stmt : Bool #

Recommended breakpoint location.


[View source]
def is_stmt=(is_stmt : Bool) #

Recommended breakpoint location.


[View source]
def isa : UInt32 #

Applicable Instruction Set Architecture for the instruction.


[View source]
def isa=(isa : UInt32) #

Applicable Instruction Set Architecture for the instruction.


[View source]
def line : UInt32 #

Line number within the source file. Starting at 1; the value 0 means that the instruction can't be attributed to any source line.


[View source]
def line=(line : UInt32) #

Line number within the source file. Starting at 1; the value 0 means that the instruction can't be attributed to any source line.


[View source]
def op_index : UInt32 #

The index of an operation inside a Very Long Instruction Word (VLIW) instruction. Together with #address they reference an individual operation.


[View source]
def op_index=(op_index : UInt32) #

The index of an operation inside a Very Long Instruction Word (VLIW) instruction. Together with #address they reference an individual operation.


[View source]
def prologue_end : Bool #

Indicates the instruction is one where execution should be suspended (for an entry breakpoint).


[View source]
def prologue_end=(prologue_end : Bool) #

Indicates the instruction is one where execution should be suspended (for an entry breakpoint).


[View source]
def reset #

[View source]