private List <SharpTreeNode> GetMergedModules(bool shouldBeExpanded) { var moduleMergeManager = new ModuleManager(TypesMap); LoadAPIItemsContext context = this.apiDiffInfo.GenerateLoadAPIItemsContext(); List <SharpTreeNode> moduleNodes = moduleMergeManager.GetMergedCollection() .Where(ApiOnlyFilter) .Select(tuple => (SharpTreeNode)GenerateModuleNode(tuple, context, shouldBeExpanded)) .ToList(); context.Validate(); return(moduleNodes); }
protected override void LoadChildren() { LoadAPIItemsContext context = this.diffItems != null ? new LoadAPIItemsContext(this.diffItems) : null; ObservableCollection <ItemNodeBase> result = new ObservableCollection <ItemNodeBase>(typesMap .Select(tuple => GenerateTypeNode(tuple, context))); context.Validate(); DispatcherObjectExt.Invoke(() => { foreach (var item in result) { this.Children.Add(item); } this.differenceDecoration = GetDifferenceDecoration(); }); }
protected override void LoadChildren() { LoadAPIItemsContext context = this.apiDiffInfo.GenerateLoadAPIItemsContext(); var memberManager = new MemberMergeManager(TypesMap); ObservableCollection <ItemNodeBase> collection = new ObservableCollection <ItemNodeBase>(memberManager .GetMergedCollection() .Where(ApiOnlyFilter) .Select(tuple => GetItemNodeFromMemberType(tuple, context))); context.Validate(); DispatcherObjectExt.BeginInvoke(() => { foreach (var item in collection) { this.Children.Add(item); } this.OnChildrenLoaded(); }, DispatcherPriority.Background); }
protected override void LoadChildren() { LoadAPIItemsContext context = this.apiDiffInfo.GenerateLoadAPIItemsContext(); List <IOldToNewTupleMap <TypeMetadata> > filteredTypeTuples = new TypesMergeManager(ModulesMap).GetMergedCollection().Where(ApiOnlyFilter).ToList(); ObservableCollection <ItemNodeBase> result = new ObservableCollection <ItemNodeBase>(filteredTypeTuples .GroupBy(GetNamespaceFromTypeMap) .OrderBy(g => g.Key) .Select(g => new NamespaceNode(g.Key, g.ToList(), GetDiffItemsList(g, context), this, this.FilterSettings))); context.Validate(); DispatcherObjectExt.BeginInvoke(() => { foreach (var item in result) { this.Children.Add(item); } }); }
private IList <IMetadataDiffItem> GetDiffItemsList(IEnumerable <IOldToNewTupleMap <TypeMetadata> > metadataList, LoadAPIItemsContext context) { return(context == null ? null : metadataList.Select(metadataTuple => context.GetDiffItem(metadataTuple)).ToList()); }
private TypeNode GenerateTypeNode(IOldToNewTupleMap <TypeMetadata> metadataTuple, LoadAPIItemsContext context) { return(new TypeNode(metadataTuple, this, context.GenerateAPIDiffInfo(metadataTuple), this.FilterSettings)); }
private ModuleNode GenerateModuleNode(IOldToNewTupleMap <ModuleMetadata> metadataTuple, LoadAPIItemsContext context, bool shouldBeExpanded) { return(new ModuleNode(metadataTuple, this, context.GenerateAPIDiffInfo(metadataTuple), shouldBeExpanded, this.FilterSettings)); }
private DecompiledMemberNodeBase GetItemNodeFromMemberType(IOldToNewTupleMap <MemberDefinitionMetadataBase> membersMap, LoadAPIItemsContext context) { MemberDefinitionMetadataBase metadata = membersMap.GetFirstNotNullItem(); APIDiffInfo diffInfo = context.GenerateAPIDiffInfo(membersMap); if (metadata.MemberType == MemberType.Type) { return(new NestedTypeNode((new OldToNewTupleMap <TypeMetadata>((TypeMetadata)membersMap.OldType, (TypeMetadata)membersMap.NewType)), this, diffInfo, this.FilterSettings)); } else { return(new MemberNode((new OldToNewTupleMap <MemberMetadata>((MemberMetadata)membersMap.OldType, (MemberMetadata)membersMap.NewType)), this, diffInfo, this.FilterSettings)); } }