Exemplo n.º 1
0
        public object VisitAssignExpr(AssignExpr expr)
        {
            Resolve(expr.Value);
            ResolveLocal(expr, expr.Name);

            return(null);
        }
Exemplo n.º 2
0
        public object VisitAssignExpr(AssignExpr expr)
        {
            object value = Evaluate(expr.Value);

            if (_locals.TryGetValue(expr, out int distance))
            {
                _scope.AssignAt(distance, expr.Name, value);
            }
            else
            {
                _global.Assign(expr.Name, value);
            }

            return(value);
        }
Exemplo n.º 3
0
        public object Visit_AssignExpr(AssignExpr expr)
        {
            Object value = Evaluate(expr.value);

            bool hasKey = _locals.TryGetValue(expr, out int distance);

            if (hasKey)
            {
                _environment.AssignAt(distance, expr.name, value);
            }
            else
            {
                globals.Assign(expr.name, value);
            }
            return(value);
        }
Exemplo n.º 4
0
 public Void Visit_AssignExpr(AssignExpr expr)
 {
     Resolve(expr.value);
     ResolveLocal(expr, expr.name);
     return(null);
 }
Exemplo n.º 5
0
 public string Visit_AssignExpr(AssignExpr expr)
 {
     return(Parenthesize("Assign " + (string)expr.name.value, expr.value));
 }