Пример #1
0
        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);
        }
Пример #2
0
        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();
            });
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
                }
            });
        }
Пример #5
0
 private IList <IMetadataDiffItem> GetDiffItemsList(IEnumerable <IOldToNewTupleMap <TypeMetadata> > metadataList, LoadAPIItemsContext context)
 {
     return(context == null ? null : metadataList.Select(metadataTuple => context.GetDiffItem(metadataTuple)).ToList());
 }
Пример #6
0
 private TypeNode GenerateTypeNode(IOldToNewTupleMap <TypeMetadata> metadataTuple, LoadAPIItemsContext context)
 {
     return(new TypeNode(metadataTuple, this, context.GenerateAPIDiffInfo(metadataTuple), this.FilterSettings));
 }
Пример #7
0
 private ModuleNode GenerateModuleNode(IOldToNewTupleMap <ModuleMetadata> metadataTuple, LoadAPIItemsContext context, bool shouldBeExpanded)
 {
     return(new ModuleNode(metadataTuple, this, context.GenerateAPIDiffInfo(metadataTuple), shouldBeExpanded, this.FilterSettings));
 }
Пример #8
0
        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));
            }
        }