예제 #1
0
 private void TraverseDefinitionCells(ScopeTree.ScopeTreeVisitor visitor)
 {
     visitor(base.Scope);
     foreach (IRIFDataScope peerDataCell in m_peerDataCells)
     {
         visitor(peerDataCell);
     }
 }
예제 #2
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);
            }
        }
예제 #3
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);
                }
            }
        }
 public abstract void Traverse(ScopeTree.ScopeTreeVisitor visitor, IRIFDataScope outerScope, bool visitOuterScope);