Class BinaryOperationGeneratorWithProcessor
java.lang.Object
org.ek9lang.compiler.phase7.generator.AbstractGenerator
org.ek9lang.compiler.phase7.generator.BinaryOperationGenerator
org.ek9lang.compiler.phase7.generator.BinaryOperationGeneratorWithProcessor
- All Implemented Interfaces:
Function<ExprProcessingDetails,
List<IRInstr>>
Wrapper for BinaryOperationGenerator that injects the recursive expression processor.
This allows the generator to handle complex nested expressions like (a + b) - (c * d).
-
Field Summary
Fields inherited from class org.ek9lang.compiler.phase7.generator.AbstractGenerator
debugInfoCreator, instructionBuilder, stackContext
-
Constructor Summary
ConstructorsConstructorDescriptionBinaryOperationGeneratorWithProcessor
(IRGenerationContext stackContext, Function<ExprProcessingDetails, List<IRInstr>> expressionProcessor) -
Method Summary
Modifier and TypeMethodDescriptionprocessOperandExpression
(EK9Parser.ExpressionContext operandExpr, VariableDetails operandDetails) Process operand expression - this should be overridden by subclasses to provide actual expression processing.Methods inherited from class org.ek9lang.compiler.phase7.generator.BinaryOperationGenerator
apply
Methods inherited from class org.ek9lang.compiler.phase7.generator.AbstractGenerator
extractCallMetaData, getRecordedSymbolOrException
-
Constructor Details
-
BinaryOperationGeneratorWithProcessor
BinaryOperationGeneratorWithProcessor(IRGenerationContext stackContext, Function<ExprProcessingDetails, List<IRInstr>> expressionProcessor)
-
-
Method Details
-
processOperandExpression
protected List<IRInstr> processOperandExpression(EK9Parser.ExpressionContext operandExpr, VariableDetails operandDetails) Description copied from class:BinaryOperationGenerator
Process operand expression - this should be overridden by subclasses to provide actual expression processing. Default implementation returns empty list.- Specified by:
processOperandExpression
in classBinaryOperationGenerator
-