public bool MoveNext() { if (this.m_rifReader.EOS) { return(false); } this.m_currentNode = null; IPersistable persistable = this.m_rifReader.ReadRIFObject(); switch (persistable.GetObjectType()) { case AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapBeginContainer: { bool result = this.MoveNext(); this.m_level++; return(result); } case AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapEndContainer: this.m_level--; return(this.MoveNext()); case AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapNode: { DocumentMapNode documentMapNode = (DocumentMapNode)persistable; this.m_currentNode = new AspNetCore.ReportingServices.OnDemandReportRendering.DocumentMapNode(documentMapNode.Label, documentMapNode.Id, this.m_level); return(true); } default: Global.Tracer.Assert(false); return(false); } }
public override bool MoveNext() { this.m_current = null; if (this.m_nodeInfoStack == null) { this.m_nodeInfoStack = new Stack <IEnumerator <AspNetCore.ReportingServices.ReportProcessing.DocumentMapNode> >(); this.m_current = new DocumentMapNode(this.m_oldDocMap.Label, this.m_oldDocMap.Id, this.m_nodeInfoStack.Count + 1); this.m_nodeInfoStack.Push(((IEnumerable <AspNetCore.ReportingServices.ReportProcessing.DocumentMapNode>) this.m_oldDocMap.Children).GetEnumerator()); return(true); } if (this.m_nodeInfoStack.Count == 0) { return(false); } while (this.m_nodeInfoStack.Count > 0 && !this.m_nodeInfoStack.Peek().MoveNext()) { this.m_nodeInfoStack.Pop(); } if (this.m_nodeInfoStack.Count == 0) { return(false); } IEnumerator <AspNetCore.ReportingServices.ReportProcessing.DocumentMapNode> enumerator = this.m_nodeInfoStack.Peek(); AspNetCore.ReportingServices.ReportProcessing.DocumentMapNode current = enumerator.Current; this.m_current = new DocumentMapNode(current.Label, current.Id, this.m_nodeInfoStack.Count + 1); if (current.Children != null && current.Children.Length != 0) { this.m_nodeInfoStack.Push(((IEnumerable <AspNetCore.ReportingServices.ReportProcessing.DocumentMapNode>)current.Children).GetEnumerator()); } return(true); }
public override void Reset() { this.m_current = null; this.m_nodeInfoStack = null; }