Package ghidra.app.util.bin.format.dwarf.line

# Class StateMachine

java.lang.Object
ghidra.app.util.bin.format.dwarf.line.StateMachine

public class StateMachine extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `long`
  `address`
  The program-counter value corresponding to a machine instruction generated by the compiler.
  `int`
  `column`
  An unsigned integer indicating a column number within a source line.
  `int`
  `file`
  An unsigned integer indicating the identity of the source file corresponding to a machine instruction.
  `boolean`
  `isBasicBlock`
  A boolean indicating that the current instruction is the beginning of a basic block.
  `boolean`
  `isEndSequence`
  A boolean indicating that the current address is that of the first byte after the end of a sequence of target machine instructions.
  `boolean`
  `isStatement`
  A boolean indicating that the current instruction is the beginning of a statement.
  `int`
  `line`
  An unsigned integer indicating a source line number.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StateMachine()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `reset(boolean defaultIsStatement)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### address

    public long address
    The program-counter value corresponding to a machine instruction generated by the compiler.

  - ### file

    public int file
    An unsigned integer indicating the identity of the source file corresponding to a machine instruction.

  - ### line

    public int line
    An unsigned integer indicating a source line number. Lines are numbered beginning at 1. The compiler may emit the value 0 in cases where an instruction cannot be attributed to any source line.

  - ### column

    public int column
    An unsigned integer indicating a column number within a source line. Columns are numbered beginning at 1. The value 0 is reserved to indicate that a statement begins at the ??left edge?? of the line.

  - ### isStatement

    public boolean isStatement
    A boolean indicating that the current instruction is the beginning of a statement.

  - ### isBasicBlock

    public boolean isBasicBlock
    A boolean indicating that the current instruction is the beginning of a basic block.

  - ### isEndSequence

    public boolean isEndSequence
    A boolean indicating that the current address is that of the first byte after the end of a sequence of target machine instructions.

- ## Constructor Details

  - ### StateMachine

    public StateMachine()

- ## Method Details

  - ### reset

    public void reset(boolean defaultIsStatement)