Class AssignmentExprInstrGenerator

java.lang.Object
org.ek9lang.compiler.phase7.generator.AbstractGenerator
org.ek9lang.compiler.phase7.generator.AssignmentExprInstrGenerator
All Implemented Interfaces:
BiFunction<EK9Parser.AssignmentExpressionContext, String, List<IRInstr>>

final class AssignmentExprInstrGenerator extends AbstractGenerator implements BiFunction<EK9Parser.AssignmentExpressionContext, String, List<IRInstr>>
Creates IR instructions for assignment expressions. Generates new BasicBlock IR (IRInstructions).

Note that this is just really a 'pointer' assignment to some existing allocated object/memory. It is not a deep copy in any way.

THis deals with the following ANTLR grammar.

  assignmentExpression
    : expression
    | dynamicClassDeclaration
    | switchStatementExpression
    | tryStatementExpression
    | assertThrowsExpression
    | assertDoesNotThrowExpression
    | assertPanicExpression
    | whileStatementExpression
    | forStatementExpression
    | streamExpression
    ;

THE generator of an assignmentExpression, ONE per construct (generators.assignmentExprGenerator, IR tidy W3.9, EXPR-15): the expression is an argument, never captured, so nothing is built per assignment.