Пример #1
0
        public object VisitThisExpr(Expr.This expr)
        {
            if (_currentClass == ClassType.None)
            {
                Lox.Error(expr.keyword, "Can't use 'this' keyword outside of a class");
            }

            ResolveLocal(expr, expr.keyword, true);
            return(null);
        }
Пример #2
0
        public LoxVoid VisitThisExpr(Expr.This expr)
        {
            if (_currentClass == ClassType.None)
            {
                Lox.Error(expr.Keyword, "Cannot use 'this' outside of class");
            }

            ResolveLocal(expr, expr.Keyword);
            return(null);
        }
Пример #3
0
 public Unit VisitThisExpr(Expr.This expr)
 {
     if (this.CurrentClass == ClassType.NONE)
     {
         CSLox.Error(expr.Keyword,
                     "Can't use 'this' outside of a class.");
         return(new Unit());
     }
     ResolveLocal(expr, expr.Keyword);
     return(new Unit());
 }
Пример #4
0
        public object visitThisExpr(Expr.This expr)
        {
            if (currentClass == ClassType.NONE)
            {
                Interpreter.error(expr.keyword, "Cannot use 'this' outside of a class.");
                return(null);
            }

            resolveLocal(expr, expr.keyword);
            return(null);
        }
Пример #5
0
        /// <summary>
        /// Resolve this
        /// </summary>
        /// <param name="expr">The expression</param>
        /// <returns></returns>
        public object Visit(Expr.This expr)
        {
            // Make sure we are in a class
            if (_current_class == ClassType.NONE)
            {
                _error_handler.Error(expr.Keyword, "Cannot use 'this' outside of a class.");
            }

            ResolveLocal(expr, expr.Keyword);
            return(null);
        }
Пример #6
0
        public object VisitThisExpr(Expr.This expr)
        {
            if (currentClass == ClassType.NONE)
            {
                throw new InterpretingException(expr.Keyword,
                                                "Can't use 'this' outside of a class.");
                return(null);
            }

            ResolveLocal(expr, expr.Keyword);
            return(null);
        }
Пример #7
0
        public object visitThisExpr(Expr.This thisExpr)
        {
            captureToken(thisExpr.keyword);

            if (currentClass == null)
            {
                error("Cannot use 'this' outside of a class.");
                return(null);
            }

            getNamedVariable(thisExpr.keyword);

            return(null);
        }
Пример #8
0
 public object VisitThisExpr(Expr.This expr)
 {
     return(LookUpVariable(expr.Keyword, expr));
 }
Пример #9
0
 public string visitThisExpr(Expr.This expr)
 {
     throw new NotImplementedException();
 }
Пример #10
0
 public Token visitThisExpr(Expr.This _this)
 {
     return(_this.keyword);
 }
Пример #11
0
 public string VisitThisExpr(Expr.This expr)
 {
     return(expr.Keyword.Lexeme);
 }
Пример #12
0
 public string VisitThisExpr(Expr.This expr)
 {
     return(Parenthesize("this"));
 }
Пример #13
0
 public object visitThisExpr(Expr.This expr)
 {
     return(lookUpVariable(expr.keyword, expr));
 }