// Token: 0x06007C09 RID: 31753 RVA: 0x0022DEA4 File Offset: 0x0022C0A4 internal IList <IAttachedAnnotation> ProcessSubTree(DependencyObject subTree) { if (subTree == null) { throw new ArgumentNullException("subTree"); } LocatorManager.ProcessingTreeState processingTreeState = new LocatorManager.ProcessingTreeState(); PrePostDescendentsWalker <LocatorManager.ProcessingTreeState> prePostDescendentsWalker = new PrePostDescendentsWalker <LocatorManager.ProcessingTreeState>(TreeWalkPriority.VisualTree, new VisitedCallback <LocatorManager.ProcessingTreeState>(this.PreVisit), new VisitedCallback <LocatorManager.ProcessingTreeState>(this.PostVisit), processingTreeState); prePostDescendentsWalker.StartWalk(subTree); return(processingTreeState.AttachedAnnotations); }
// Token: 0x06007C0F RID: 31759 RVA: 0x0022E2D0 File Offset: 0x0022C4D0 private bool PostVisit(DependencyObject dependencyObject, LocatorManager.ProcessingTreeState data, bool visitedViaVisualTree) { bool flag = data.Pop(); SubTreeProcessor subTreeProcessor = this.GetSubTreeProcessor(dependencyObject); bool flag2 = false; IList <IAttachedAnnotation> list = subTreeProcessor.PostProcessNode(dependencyObject, flag, out flag2); if (list != null) { data.AttachedAnnotations.AddRange(list); } data.CalledProcessAnnotations = (data.CalledProcessAnnotations || flag2 || flag); return(true); }