public Void visitAssignExpr(Expr.Assign expr) { Resolve(expr.value); ResolveLocal(expr, expr.name); return(null); }
public object visitAssignExpr(Expr.Assign expr) { object value = Evaluate(expr.value); int distance = -1; if (locals.ContainsKey(expr)) { distance = locals[expr]; } if (distance != -1) { environment.AssignAt(distance, expr.name, value); } else { environment.Assign(expr.name, value); } environment.Assign(expr.name, value); return(value); }