public override ASTNode VisitAssignStmt([NotNull] llangParser.AssignStmtContext context) { Expression lhs = (Expression)Visit(context.expr(0)), rhs = (Expression)Visit(context.expr(1)); //if (!TypeSymbol.Match(lhs.type, rhs.type)) Program.ErrorExit("Type mismatch", context.Start.Line, context.Start.Column); if (context.assignop().GetText().Length == 2) { return(new AugAssignNode(lhs, rhs, context.assignop().GetText(), MakeSourceLoc(context))); } return(new AssignNode(lhs, rhs, MakeSourceLoc(context))); }