예제 #1
0
        public Void Visit_ThisExpr(ThisExpr expr)
        {
            if (_currentClass == ClassType.None)
            {
                _errors.Add(new Error(expr.keyword, ErrorType.InvalidThisUsage));
                return(null);
            }

            ResolveLocal(expr, expr.keyword);
            return(null);
        }
예제 #2
0
        public object VisitThisExpr(ThisExpr expr)
        {
            if (_currentClassType == ClassType.NONE)
            {
                Lox.Error(expr.Keyword, "Cannot use 'this' outside of a class.");
                return(null);
            }

            ResolveLocal(expr, expr.Keyword);

            return(null);
        }
예제 #3
0
 public object VisitThisExpr(ThisExpr expr)
 {
     return(LookUpVariable(expr.Keyword, expr));
 }
예제 #4
0
파일: Interpreter.cs 프로젝트: sirgru/CsLox
 public Object Visit_ThisExpr(ThisExpr expr)
 {
     return(LookUpVariable(expr.keyword, expr));
 }
예제 #5
0
파일: AST_Printer.cs 프로젝트: sirgru/CsLox
 public string Visit_ThisExpr(ThisExpr expr)
 {
     return("(Expr this)");
 }