System.Xml.Xsl.Qil.QilScopedVisitor.BeforeVisit C# (CSharp) Method

BeforeVisit() protected method

Called at the beginning of Visit().
protected BeforeVisit ( QilNode node ) : void
node QilNode
return void
        protected virtual void BeforeVisit(QilNode node) {
            QilExpression qil;

            switch (node.NodeType) {
                case QilNodeType.QilExpression:
                    // Put all global functions, variables, and parameters in scope
                    qil = (QilExpression) node;
                    foreach (QilNode param in qil.GlobalParameterList) BeginScope(param);
                    foreach (QilNode var in qil.GlobalVariableList) BeginScope(var);
                    foreach (QilNode func in qil.FunctionList) BeginScope(func);
                    break;

                case QilNodeType.Function:
                    // Put all formal arguments in scope
                    foreach (QilNode arg in ((QilFunction) node).Arguments) BeginScope(arg);
                    break;

                case QilNodeType.Loop:
                case QilNodeType.Filter:
                case QilNodeType.Sort:
                    // Put loop iterator in scope
                    BeginScope(((QilLoop) node).Variable);
                    break;
            }
        }