コード例 #1
0
ファイル: TotemWalker.cs プロジェクト: Alxandr/IronTotem-3.0
		// ExprStmt
		public virtual bool Walk(ExprStmt node) { return true; }
コード例 #2
0
ファイル: TotemWalker.cs プロジェクト: Alxandr/IronTotem-3.0
		public virtual void PostWalk(ExprStmt node) { }
コード例 #3
0
ファイル: TotemWalker.cs プロジェクト: Alxandr/IronTotem-3.0
		public override void PostWalk(ExprStmt node) { }
コード例 #4
0
ファイル: TotemWalker.cs プロジェクト: Alxandr/IronTotem-3.0
		// ExprStmt
		public override bool Walk(ExprStmt node) { return false; }
コード例 #5
0
ファイル: Parser.cs プロジェクト: Alxandr/IronTotem-3.0
        private Stmt ParseExprStmt()
        {
            Expr ret = ParseExpr();
            if (!EatSemiOrInteractiveEndOfFile())
                return null;

            if (ret is ErrorExpr)
                NextToken();

            ExprStmt stmt = new ExprStmt(ret);
            stmt.SetLoc(_globalParent, ret.StartIndex, GetEnd());
            if (_sourceUnit.Kind != SourceCodeKind.InteractiveCode && _sourceUnit.Kind != SourceCodeKind.AutoDetect) // don't normally allow statements like a, or a + 2, without assigning the value
                stmt.ValidateExpression();
            return stmt;
        }
コード例 #6
0
ファイル: FunctionCode.cs プロジェクト: Alxandr/IronTotem-3.0
 public override bool Walk(ExprStmt node)
 {
     UpdateLoops(node);
     return base.Walk(node);
 }
コード例 #7
0
		// ExprStmt
		public override bool Walk(ExprStmt node)
		{
			node.Parent = _currentScope;
			
			return base.Walk(node);
		}