public override ASTNode VisitAssignment([NotNull] DaedalusParser.AssignmentContext context) { string oper = context.assignmentOperator().GetText(); ReferenceNode referenceNode = (ReferenceNode)VisitReference(context.reference()); ExpressionNode expressionNode = (ExpressionNode)Visit(context.expression()); if (oper == "=") { return(new AssignmentNode(GetLocation(context), GetLocation(context.assignmentOperator()), referenceNode, expressionNode)); } return(new CompoundAssignmentNode(GetLocation(context), GetCompoundAssignmentOperator(oper), GetLocation(context.assignmentOperator()), referenceNode, expressionNode)); }
public override void ExitAssignment(DaedalusParser.AssignmentContext context) { _assemblyBuilder.IsInsideAssignment = false; string assignmentOperator = context.assignmentOperator().GetText(); _assemblyBuilder.AssignmentEnd(assignmentOperator); }