コード例 #1
0
ファイル: ForWhereClause.cs プロジェクト: dlurton/Happy
 internal override void Accept(AstVisitorBase visitor)
 {
     visitor.BeforeVisit(this);
     if(_expressionNode != null)
         _expressionNode.Accept(visitor);
     visitor.AfterVisit(this);
 }
コード例 #2
0
ファイル: WhileStatement.cs プロジェクト: dlurton/Happy
 internal override void Accept(AstVisitorBase visitor)
 {
     visitor.BeforeVisit(this);
     this.Condition.Accept(visitor);
     this.Block.Accept(visitor);
     visitor.AfterVisit(this);
 }
コード例 #3
0
 internal override void Accept(AstVisitorBase visitor)
 {
     visitor.BeforeVisit(this);
     if (visitor.ShouldVisitChildren)
         _arguments.ExecuteOverAll(node => node.Accept(visitor));
     visitor.AfterVisit(this);
 }
コード例 #4
0
ファイル: UnaryExpression.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
                this.Value.Accept(visitor);

            visitor.AfterVisit(this);
        }
コード例 #5
0
ファイル: VariableDef.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren && this.InitializerExpression != null)
                this.InitializerExpression.Accept(visitor);

            visitor.AfterVisit(this);
        }
コード例 #6
0
ファイル: UseStatementList.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
                this.UseStatements.ExecuteOverAll(u => u.Accept(visitor));

            visitor.AfterVisit(this);
        }
コード例 #7
0
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
                _parameters.ExecuteOverAll(p => p.Accept(visitor));

            visitor.AfterVisit(this);
        }
コード例 #8
0
ファイル: DefStatement.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
                this.VariableDefs.ExecuteOverAll(vd => vd.Accept(visitor));

            visitor.AfterVisit(this);
        }
コード例 #9
0
ファイル: ReturnStatement.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (!visitor.ShouldVisitChildren)
                return;

            if(this.ReturnExp != null)
                this.ReturnExp.Accept(visitor);
            visitor.AfterVisit(this);
        }
コード例 #10
0
ファイル: ArgumentList.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
                foreach (ExpressionNodeBase arg in this.Arguments)
                    arg.Accept(visitor);

            visitor.AfterVisit(this);
        }
コード例 #11
0
ファイル: NewObjectExpression.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
            {

                this.TypeExpression.Accept(visitor);
                this.ConstructorAgs.ExecuteOverAll(arg => arg.Accept(visitor));
            }
            visitor.AfterVisit(this);
        }
コード例 #12
0
ファイル: SwitchCase.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
            {
                this.CaseValues.ForAll(cv => cv.Accept(visitor));
                this.CaseStatementBlock.Accept(visitor);
            }

            visitor.AfterVisit(this);
        }
コード例 #13
0
ファイル: OutputStatement.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
            {
                foreach (ExpressionNodeBase exp in _expressionsToWrite)
                    exp.Accept(visitor);
            }
            visitor.AfterVisit(this);
        }
コード例 #14
0
ファイル: Function.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
            {
                if(_parameterList != null)
                    _parameterList.Accept(visitor);

                _body.Accept(visitor);
            }
            visitor.AfterVisit(this);
        }
コード例 #15
0
ファイル: SwitchStatement.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
            {
                this.SwitchExpression.Accept(visitor);
                this.Cases.ExecuteOverAll(c => c.Accept(visitor));
                if (this.DefaultStatementBlock != null)
                    this.DefaultStatementBlock.Accept(visitor);
            }

            visitor.AfterVisit(this);
        }
コード例 #16
0
ファイル: BinaryExpression.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
            {
                this.LeftValue.Accept(visitor);
                visitor.AfterLeftExpressionVisit(this);
                this.RightValue.Accept(visitor);
                visitor.AfterRightExpressionVisit(this);
            }
            visitor.AfterVisit(this);
        }
コード例 #17
0
ファイル: IfStatement.cs プロジェクト: dlurton/Happy
 internal override void Accept(AstVisitorBase visitor)
 {
     visitor.BeforeVisit(this);
     if (visitor.ShouldVisitChildren)
     {
         _condition.Accept(visitor);
         visitor.AfterIfStatementCondition(this);
         _trueStatementBlock.Accept(visitor);
         visitor.AfterIfStatementTrueBlock(this);
         if (_falseStatementBlock != null)
         {
             _falseStatementBlock.Accept(visitor);
             visitor.AfterIfStatementFalseBlock(this);
         }
     }
     visitor.AfterVisit(this);
 }
コード例 #18
0
ファイル: ForStatement.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);

            if (visitor.ShouldVisitChildren)
            {
                _enumerable.Accept(visitor);
                _loopBody.Accept(visitor);
                if (_between != null)
                    _between.Accept(visitor);

                if (_where != null)
                    _where.Accept(visitor);
            }

            visitor.AfterVisit(this);
        }
コード例 #19
0
ファイル: Module.cs プロジェクト: dlurton/Happy
        internal override void Accept(AstVisitorBase visitor)
        {
            visitor.BeforeVisit(this);
            if (visitor.ShouldVisitChildren)
            {
                foreach (var loadStatement in this.LoadDirectives)
                    loadStatement.Accept(visitor);

                if(this.UseStatements != null)
                    this.UseStatements.Accept(visitor);

                foreach (var def in this.GlobalDefStatements)
                    def.Accept(visitor);

                foreach (var func in this.Functions)
                    func.Accept(visitor);
            }

            visitor.AfterVisit(this);
        }