MarkerInstruction

MarkerInstruction

interface MarkerInstruction

Represents a marker (either start or end) of a flattened BlockInstruction.

Fields

Name Description
abstract identifier: Label?
abstract original: BlockInstruction
open result: ResultType

Methods

flatten

open fun flatten(expressionIndex: Int): List<Instruction>

Flattens the instruction such that none of the Instructions returned contain nested instructions. May result in block-type instructions being converted to start/end variants, wrapping their block contents.

Parameters

Name Description
expressionIndex: Int

The index of this Instruction within a parent's flattened list. Used to configure start/end instructions and allow breaks/jumps to calculate instruction pointer offsets.

ReturnValue

Name Description
List<Instruction>

Extensions

validate

fun Instruction.validate(context: FunctionBody): FunctionBody

Validates the Instruction.

Receiver

Name Description
Instruction

Parameters

Name Description
context: FunctionBody

ReturnValue

Name Description
FunctionBody