public object VisitSetExpr(SetExpr expr) { Resolve(expr.Value); Resolve(expr.Object); return(null); }
public string Visit_SetExpr(SetExpr expr) { var name = (string)expr.name.value; var obj = Parenthesize("", expr.obj); var value = Parenthesize("", expr.value); return("(Set " + name + " on " + obj + " to " + value + ")"); }
public Object Visit_SetExpr(SetExpr expr) { Object obj = Evaluate(expr.obj); if (!(obj is LoxInstance)) { throw new RuntimeException(expr.name.line, expr.name.column, "Only instances have fields."); } Object value = Evaluate(expr.value); ((LoxInstance)obj).Set(expr.name, value); return(value); }
public object VisitSetExpr(SetExpr expr) { var obj = Evaluate(expr.Object) as LoxInstance; if (obj == null) { throw new LoxRuntimeException(expr.Name, "Only instances have fields."); } var value = Evaluate(expr.Value); obj.Set(expr.Name, value); return(value); }
public Void Visit_SetExpr(SetExpr expr) { Resolve(expr.value); Resolve(expr.obj); return(null); }