Class MemoryInstrAsmGenerator
java.lang.Object
org.ek9lang.compiler.backend.jvm.AbstractAsmGenerator
org.ek9lang.compiler.backend.jvm.MemoryInstrAsmGenerator
- All Implemented Interfaces:
Consumer<MemoryInstr>
public final class MemoryInstrAsmGenerator
extends AbstractAsmGenerator
implements Consumer<MemoryInstr>
Specialized ASM generator for MemoryInstr processing.
Handles LOAD, STORE, REFERENCE, RETAIN, RELEASE operations
using the actual MemoryInstr methods (no string parsing).
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractAsmGenerator
AbstractAsmGenerator.LocalVariableInfo, AbstractAsmGenerator.MethodContext, AbstractAsmGenerator.ScopeInfo, AbstractAsmGenerator.TempVariableSource
-
Field Summary
Fields inherited from class AbstractAsmGenerator
classWriter, constructTargetTuple, outputVisitor
-
Constructor Summary
ConstructorsConstructorDescriptionMemoryInstrAsmGenerator
(ConstructTargetTuple constructTargetTuple, OutputVisitor outputVisitor, org.objectweb.asm.ClassWriter classWriter) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(MemoryInstr memoryInstr) Generate JVM bytecode for a memory operation instruction.Methods inherited from class AbstractAsmGenerator
convertToJvmDescriptor, convertToJvmName, generateBooleanLiteral, generateCharacterLiteral, generateDebugInfo, generateFloatLiteral, generateIntegerLiteral, generateLoadVariable, generateLocalVariableTable, generateMethodDescriptor, generateObjectLiteral, generateStackOperation, generateStoreVariable, generateStringLiteral, getCurrentMethodVisitor, getMethodContext, getOrCreateLabel, getVariableIndex, isVariableAllocated, setCurrentMethodVisitor, setSharedMethodContext, trackTempVariableFromLiteral, trackTempVariableFromLoad
-
Constructor Details
-
MemoryInstrAsmGenerator
public MemoryInstrAsmGenerator(ConstructTargetTuple constructTargetTuple, OutputVisitor outputVisitor, org.objectweb.asm.ClassWriter classWriter)
-
-
Method Details
-
accept
Generate JVM bytecode for a memory operation instruction. Uses MemoryInstr opcode to determine the specific operation.- Specified by:
accept
in interfaceConsumer<MemoryInstr>
-