Class ExecutedInstructionsIn

java.lang.Object
org.ek9lang.compiler.ir.instructions.ExecutedInstructionsIn
All Implemented Interfaces:
Function<List<IRInstr>, List<IRInstr>>, UnaryOperator<List<IRInstr>>

public final class ExecutedInstructionsIn extends Object implements UnaryOperator<List<IRInstr>>
THE flattening of the instructions a back end EXECUTES in an instruction list: every instruction, depth-first through every nested list a back end runs - a chain's condition cases (guardUpdates, conditionEvaluation, bodyEvaluation), its default, try body and finally, and a for-range loop's initialisation, continue condition, direction/condition/setup/guard/increment/progress lists and body (the walk IRConstruct.allBodyInstructions() describes). A chain's evaluation_variable_setup and return_variable_setup are deliberately NOT walked: rendered in the IR text, read by no back end.

For a reader holding a list that is not yet part of an operation (IR generation itself); for one operation use ExecutedInstructionsOf. Not IRStructureWalk, which visits EVERY nested list (the ownership rules need the set-up lists too). A null list is empty.