Beispiel #1
0
        internal override void Traverse(ScopeTree.ScopeTreeVisitor visitor, IRIFDataScope outerScope, bool visitOuterScope)
        {
            bool flag = outerScope == base.Scope;

            if (visitOuterScope || !flag)
            {
                visitor(base.Scope);
            }
            if (!flag && m_parentScope != null)
            {
                m_parentScope.Traverse(visitor, outerScope, visitOuterScope);
            }
        }
Beispiel #2
0
        internal override void Traverse(ScopeTree.ScopeTreeVisitor visitor, IRIFDataScope outerScope, bool visitOuterScope)
        {
            bool flag = HasCell(outerScope);

            if (visitOuterScope || !flag)
            {
                TraverseDefinitionCells(visitor);
            }
            if (!flag)
            {
                if (m_parentRowScope != null)
                {
                    m_parentRowScope.Traverse(visitor, outerScope, visitOuterScope);
                }
                if (m_parentColumnScope != null)
                {
                    m_parentColumnScope.Traverse(visitor, outerScope, visitOuterScope);
                }
            }
        }
Beispiel #3
0
 protected static bool TraverseNode(ScopeTree.DirectedScopeTreeVisitor visitor, ScopeTreeNode node)
 {
     return(node?.Traverse(visitor) ?? true);
 }