Uses of Class
org.ek9lang.compiler.ir.IRInstruction
Packages that use IRInstruction
Package
Description
Common parts of processing that can be reused across various phases.
K - Intermediate Representation Generation.
-
Uses of IRInstruction in org.ek9lang.compiler.common
Methods in org.ek9lang.compiler.common with parameters of type IRInstructionModifier and TypeMethodDescriptiondefault void
INodeVisitor.visit
(IRInstruction irInstruction) void
NodePrinter.visit
(IRInstruction irInstruction) -
Uses of IRInstruction in org.ek9lang.compiler.ir
Subclasses of IRInstruction in org.ek9lang.compiler.irModifier and TypeClassDescriptionfinal class
Specialized IR instruction for control flow operations (BRANCH, BRANCH_TRUE, BRANCH_FALSE, RETURN).final class
Specialized IR instruction for method calls (CALL, CALL_VIRTUAL, CALL_STATIC, CALL_DISPATCHER).final class
IR instruction for loading literal/constant values.final class
Specialized IR instruction for memory operations (LOAD, STORE, ALLOCA).final class
Specialized IR instruction for scope management (SCOPE_ENTER, SCOPE_EXIT, SCOPE_REGISTER).Methods in org.ek9lang.compiler.ir that return IRInstructionModifier and TypeMethodDescriptionIRInstruction.addOperand
(String operand) Add operand to this instruction.IRInstruction.addOperands
(String... operands) Add multiple operands to this instruction.BasicBlock.getLastInstruction()
Get the last instruction in this block (usually control flow).Methods in org.ek9lang.compiler.ir that return types with arguments of type IRInstructionModifier and TypeMethodDescriptionBasicBlock.getInstructions()
BasicBlock.getMemoryManagementInstructions()
Get all memory management instructions in this block.BasicBlock.getMethodCalls()
Get all method call instructions in this block.Methods in org.ek9lang.compiler.ir with parameters of type IRInstructionModifier and TypeMethodDescriptionBasicBlock.addInstruction
(IRInstruction instruction) Add instruction to this basic block.BasicBlock.addInstructions
(IRInstruction... instructions) Add multiple instructions to this basic block.Method parameters in org.ek9lang.compiler.ir with type arguments of type IRInstructionModifier and TypeMethodDescriptionBasicBlock.addInstructions
(List<IRInstruction> instructions) Add multiple instructions from a list. -
Uses of IRInstruction in org.ek9lang.compiler.phase7
Methods in org.ek9lang.compiler.phase7 that return types with arguments of type IRInstructionModifier and TypeMethodDescriptionAssignmentExpressionInstructionCreator.apply
(EK9Parser.AssignmentExpressionContext ctx, String resultVar, String scopeId) Generate IR instructions for assignment expression.BlockStatementInstructionCreator.apply
(EK9Parser.BlockStatementContext ctx, String scopeId) Generate IR instructions for a block statement.ExpressionInstructionCreator.apply
(EK9Parser.ExpressionContext ctx, String resultVar, String scopeId) Generate IR instructions for expression.ObjectAccessInstructionCreator.apply
(EK9Parser.ObjectAccessExpressionContext ctx, String resultVar, String scopeId) Generate IR instructions for object access expression using resolved symbols.StatementInstructionCreator.apply
(EK9Parser.StatementContext ctx, String scopeId) Generate IR instructions for a statement.VariableDeclarationInstructionCreator.apply
(EK9Parser.VariableDeclarationContext ctx, String scopeId) Generate IR instructions for variable declaration with assignment.VariableDeclarationInstructionCreator.applyVariableOnly
(EK9Parser.VariableOnlyDeclarationContext ctx, String scopeId) Generate IR instructions for variable only declaration.