L1Disassembler

class L1Disassembler(code: A_RawFunction)

An instance of L1Disassembler converts a compiled code object into a textual representation of its sequence of level one operations and their operands.

Author

Mark van Gulik

Parameters

code

The code to decompile.

Constructors

Link copied to clipboard
fun L1Disassembler(code: A_RawFunction)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
interface L1DisassemblyVisitor : L1OperandTypeDispatcher

Functions

Link copied to clipboard
fun disassembledAsSlots(highlightPc: Int = -1): List<AvailObjectFieldHelper>

Output the disassembly to the given {@link List} of {@link AvailObjectFieldHelper}s.

Link copied to clipboard
fun print(    builder: StringBuilder,     recursionMap: IdentityHashMap<A_BasicObject, Void>,     indent: Int,     highlightPc: Int = -1)

Output the disassembly to the given StringBuilder.

Link copied to clipboard
fun printInstructions(    recursionMap: IdentityHashMap<A_BasicObject, Void>,     indent: Int,     action: (Int, Int, String) -> Unit)

Output the disassembly, one instruction at a time, to the provided function that takes the instruction pc and print representation.

Link copied to clipboard
fun visit(visitor: L1Disassembler.L1DisassemblyVisitor)

Visit the given L1DisassemblyVisitor with my L1Operations and Int-valued L1OperandType.

Properties

Link copied to clipboard
val allDeclarationNames: List<String>

Extract the names of arg/local/constant/label/outer declarations from the raw function.