public object VisitSetExpr(Expr <object> .Set expr) { Resolve(expr.value); Resolve(expr.obj); return(null); }
public void Resolve(Expr <object> expr) { expr.Accept(this); }
public object VisitUnaryExpr(Expr <object> .Unary expr) { Resolve(expr.right); return(null); }
public object VisitGetExpr(Expr <object> .Get expr) { Resolve(expr.obj); return(null); }
public object VisitLogicalExpr(Expr <object> .Logical expr) { Resolve(expr.left); Resolve(expr.right); return(null); }
public object VisitLiteralExpr(Expr <object> .Literal expr) { return(null); }
public object VisitGroupingExpr(Expr <object> .Grouping expr) { Resolve(expr.expression); return(null); }
public object VisitBinaryExpr(Expr <object> .Binary expr) { Resolve(expr.left); Resolve(expr.right); return(null); }
public object VisitAssignExpr(Expr <object> .Assign expr) { Resolve(expr.value); ResolveLocal(expr, expr.name); return(null); }