// Token: 0x06002D18 RID: 11544 RVA: 0x000CB7CC File Offset: 0x000C99CC
        private void _CreateFlowNodes(BlockElement be)
        {
            NamedElement namedElement = be as NamedElement;

            if (namedElement != null)
            {
                this.ConstructSomElement(namedElement);
                return;
            }
            SemanticBasicElement semanticBasicElement = be as SemanticBasicElement;

            if (semanticBasicElement != null)
            {
                this._flowBuilder.AddStartNode(be.ElementType);
                XmlLanguage value = (XmlLanguage)this._fixedPage.GetValue(FrameworkElement.LanguageProperty);
                this._flowBuilder.FixedElement.SetValue(FixedElement.LanguageProperty, value);
                this.SpecialProcessing(semanticBasicElement);
                List <BlockElement> blockElementList = semanticBasicElement.BlockElementList;
                foreach (BlockElement be2 in blockElementList)
                {
                    this._CreateFlowNodes(be2);
                }
                this._flowBuilder.AddEndNode();
            }
        }
        // Token: 0x06002D1A RID: 11546 RVA: 0x000CB930 File Offset: 0x000C9B30
        private void SpecialProcessing(SemanticBasicElement sbe)
        {
            ListItemStructure listItemStructure = sbe as ListItemStructure;

            FixedDSBuilder.NameHashFixedNode nameHashFixedNode;
            if (listItemStructure != null && listItemStructure.Marker != null && this._nameHashTable.TryGetValue(listItemStructure.Marker, out nameHashFixedNode))
            {
                this._visitedArray[nameHashFixedNode.index] = true;
            }
        }
Example #3
0
 private void SpecialProcessing(SemanticBasicElement sbe)
 {
     ds.ListItemStructure listItem = sbe as ds.ListItemStructure;
     if (listItem != null && listItem.Marker != null)
     {
         NameHashFixedNode fen;
         if (_nameHashTable.TryGetValue(listItem.Marker, out fen) == true)
         {
             _visitedArray[fen.index] = true;
         }
     }
 }
Example #4
0
        /// <summary>
        /// This function will create the flow node corresponding to this BlockElement.
        /// This function will call itself recursively.
        /// </summary>
        /// <param name="be"></param>
        private void _CreateFlowNodes(BlockElement be)
        {
            //
            // Break, NamedElement and SemanticBasicElement all derived from BlockElement.
            // Break element is ignored for now.
            //
            NamedElement ne = be as NamedElement;

            if (ne != null)
            {
                //
                // That is the NamedElement, it might use namedReference or HierachyReference,
                // we need to construct FixedSOMElement list from this named element.
                //
                ConstructSomElement(ne);
            }
            else
            {
                SemanticBasicElement sbe = be as SemanticBasicElement;
                if (sbe != null)
                {
                    //
                    // Add the start node in the flow array.
                    //
                    _flowBuilder.AddStartNode(be.ElementType);

                    //Set the culture info on this node
                    XmlLanguage language = (XmlLanguage)_fixedPage.GetValue(FrameworkElement.LanguageProperty);
                    _flowBuilder.FixedElement.SetValue(FixedElement.LanguageProperty, language);

                    SpecialProcessing(sbe);
                    //
                    // Enumerate all the childeren under this element.
                    //
                    List <BlockElement> blockElementList = sbe.BlockElementList;
                    foreach (BlockElement bElement in blockElementList)
                    {
                        _CreateFlowNodes(bElement);
                    }

                    //
                    // Add the end node in the flow array.
                    //
                    _flowBuilder.AddEndNode();
                }
            }
        }