runStateMachine

fnbool runStateMachine(ref const(LineNumberProgram) lp, scope RunStateMachineCallback callback) @nogc nothrow

Run the state machine to generate line number matrix

Line number informations generated by the compiler are stored in the .debug_line section. Conceptually, they can be seen as a large matrix, with row such as "file", "line", "column", "is_statement", etc... However such a matrix would be too big to store in an object file, so DWARF instead generate this matrix using bytecode fed to a state machine.

Note

Each compilation unit can have its own line number program.

See Also

- DWARF v4, Section 6.2: Line Number Information

Parameters

lpProgram to execute
callbackDelegate to call whenever a LocationInfo is completed

Returns

false if an error happened (e.g. unknown opcode)