Uses of Class
org.ek9lang.compiler.ir.IRInstr
Packages that use IRInstr
Package
Description
Common parts of processing that can be reused across various phases.
K - Intermediate Representation Generation.
-
Uses of IRInstr in org.ek9lang.compiler.common
Methods in org.ek9lang.compiler.common with parameters of type IRInstr -
Uses of IRInstr in org.ek9lang.compiler.ir
Subclasses of IRInstr in org.ek9lang.compiler.irModifier and TypeClassDescriptionfinal class
Specialized IR instruction for control flow operations (BRANCH, BRANCH_TRUE, BRANCH_FALSE, ASSERT, 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, REFERENCE).final class
Specialized IR instruction for scope management (SCOPE_ENTER, SCOPE_EXIT, SCOPE_REGISTER).Methods in org.ek9lang.compiler.ir that return IRInstrModifier and TypeMethodDescriptionIRInstr.addOperand
(String operand) Add operand to this instruction.IRInstr.addOperands
(String... operands) Add multiple operands to this instruction.BasicBlockInstr.getLastInstruction()
Get the last instruction in this block (usually control flow).Methods in org.ek9lang.compiler.ir that return types with arguments of type IRInstrModifier and TypeMethodDescriptionBasicBlockInstr.getInstructions()
BasicBlockInstr.getMemoryManagementInstructions()
Get all memory management instructions in this block.BasicBlockInstr.getMethodCalls()
Get all method call instructions in this block.Methods in org.ek9lang.compiler.ir with parameters of type IRInstrModifier and TypeMethodDescriptionvoid
BasicBlockInstr.addInstruction
(IRInstr instruction) Add instruction to this basic block.BasicBlockInstr.addInstructions
(IRInstr... instructions) Add multiple instructions to this basic block.Method parameters in org.ek9lang.compiler.ir with type arguments of type IRInstrModifier and TypeMethodDescriptionvoid
BasicBlockInstr.addInstructions
(List<IRInstr> instructions) Add multiple instructions from a list. -
Uses of IRInstr in org.ek9lang.compiler.phase7
Classes in org.ek9lang.compiler.phase7 that implement interfaces with type arguments of type IRInstrModifier and TypeClassDescription(package private) final class
(package private) final class
Process assignment statement: variable = expression Uses RELEASE-then-RETAIN pattern for memory-safe assignments.(package private) final class
Creates IR instructions for statements.(package private) final class
Creates IR instructions for variable declarations.(package private) final class
Creates IR instructions for variable only declarations.Methods in org.ek9lang.compiler.phase7 that return types with arguments of type IRInstrModifier and TypeMethodDescriptionAssertStmtGenerator.apply
(EK9Parser.AssertStatementContext ctx, String scopeId) AssignmentExprInstrGenerator.apply
(EK9Parser.AssignmentExpressionContext ctx, String resultVar) Generate IR instructions for assignment expression.AssignmentStmtGenerator.apply
(EK9Parser.AssignmentStatementContext ctx, String scopeId) BlockStmtInstrGenerator.apply
(EK9Parser.BlockStatementContext ctx, String scopeId) Generate IR instructions for a block statement.ExprInstrGenerator.apply
(EK9Parser.ExpressionContext ctx, String resultVar, String scopeId) Generate IR instructions for expression.ObjectAccessInstrGenerator.apply
(EK9Parser.ObjectAccessExpressionContext ctx, String resultVar, String scopeId) Generate IR instructions for object access expression using resolved symbols.StmtInstrGenerator.apply
(EK9Parser.StatementContext ctx, String scopeId) Generate IR instructions for a statement.VariableDeclInstrGenerator.apply
(EK9Parser.VariableDeclarationContext ctx, String scopeId) Generate IR instructions for variable declaration with assignment.VariableOnlyDeclInstrGenerator.apply
(EK9Parser.VariableOnlyDeclarationContext ctx, String scopeId) Generate IR instructions for variable only declaration.AbstractVariableDeclGenerator.getDeclInstrs
(org.antlr.v4.runtime.tree.ParseTree ctx, String scopeId)