public InternalDocument CreateDocument(List<InternalObject> tagSoup, CancellationToken cancellationToken) { var stack = InsertPlaceholderTags(tagSoup, cancellationToken); InternalDocument doc = new InternalDocument(); var docElements = CreateElements(ref stack); docElements.Reverse(); // reverse due to stack doc.NestedObjects = new InternalObject[docElements.Count]; int pos = 0; for (int i = 0; i < docElements.Count; i++) { doc.NestedObjects[i] = docElements[i].SetStartRelativeToParent(pos); pos += doc.NestedObjects[i].Length; } doc.Length = pos; return doc; }
public InternalDocument CreateDocument(List <InternalObject> tagSoup, CancellationToken cancellationToken) { var stack = InsertPlaceholderTags(tagSoup, cancellationToken); InternalDocument doc = new InternalDocument(); var docElements = CreateElements(ref stack); docElements.Reverse(); // reverse due to stack doc.NestedObjects = new InternalObject[docElements.Count]; int pos = 0; for (int i = 0; i < docElements.Count; i++) { doc.NestedObjects[i] = docElements[i].SetStartRelativeToParent(pos); pos += doc.NestedObjects[i].Length; } doc.Length = pos; return(doc); }
internal AXmlDocument(AXmlObject parent, int startOffset, InternalDocument internalObject) : base(parent, startOffset, internalObject) { }