Beispiel #1
0
 void IRelation.UpdateContainsCollection(IRelatableItem parent, AggregateContainsRelationCollectionSpan span)
 {
     if (parent is TParent typedParent)
     {
         UpdateContainsCollection(typedParent, span);
     }
 }
Beispiel #2
0
        protected override void UpdateContainsCollection(PackageReferenceItem parent, AggregateContainsRelationCollectionSpan span)
        {
            if (!parent.Target.TryGetDependencies(parent.Library.Name, version: null, out ImmutableArray <AssetsFileTargetLibrary> dependencies))
            {
                dependencies = ImmutableArray <AssetsFileTargetLibrary> .Empty;
            }

            span.UpdateContainsItems(
                dependencies.Where(dep => dep.Type == AssetsFileLibraryType.Package).OrderBy(library => library.Name),
                (library, item) => StringComparer.Ordinal.Compare(library.Name, item.Library.Name),
                (library, item) => item.TryUpdateState(parent.Target, library),
                library => new PackageReferenceItem(parent.Target, library));
        }
Beispiel #3
0
 protected override void UpdateContainsCollection(PackageReferenceItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         parent.Library.CompileTimeAssemblies.Length == 0 ? Array.Empty <AssetsFileTargetLibrary>() : new[] { parent.Library },
         (library, item) => 0,
         (library, item) => false,
         library => new PackageAssemblyGroupItem(parent.Target, library, PackageAssemblyGroupType.CompileTime));
 }
Beispiel #4
0
 /// <inheritdoc cref="IRelation.UpdateContainsCollection"/>
 protected abstract void UpdateContainsCollection(TParent parent, AggregateContainsRelationCollectionSpan span);
Beispiel #5
0
 protected override void UpdateContainsCollection(PackageReferenceItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         parent.Library.ContentFiles.Length == 0 ? Enumerable.Empty <AssetsFileTargetLibrary>() : new[] { parent.Library },
         (library, item) => 0,
         (library, item) => false,
         library => new PackageContentFileGroupItem(parent.Target, library));
 }
Beispiel #6
0
        protected override void UpdateContainsCollection(FrameworkReferenceItem parent, AggregateContainsRelationCollectionSpan span)
        {
            ImmutableArray <FrameworkReferenceAssemblyItem> assemblies = _frameworkContentCache.GetContents(parent.Framework);

            span.UpdateContainsItems(
                assemblies.OrderBy(assembly => assembly.Text),
                (sourceItem, targetItem) => StringComparer.Ordinal.Compare(sourceItem.Text, targetItem.Text),
                (sourceItem, targetItem) => false,
                sourceItem => sourceItem);
        }
 protected override void UpdateContainsCollection(PackageAssemblyGroupItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         GetAssemblies(parent).OrderBy(assembly => assembly),
         (assembly, item) => StringComparer.Ordinal.Compare(assembly, item.Path),
         (library, item) => false,
         assembly => new PackageAssemblyItem(parent.Target, parent.Library, assembly, parent.GroupType));
 }
 protected override void UpdateContainsCollection(ProjectReferenceItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         parent.Target.Logs.Where(log => log.LibraryName == parent.Library.Name).OrderBy(log => log.LibraryName).ThenBy(log => log.Message),
         (log, item) => StringComparer.Ordinal.Compare(log.LibraryName, item.Library.Name),
         (log, item) => item.TryUpdateState(parent.Target, parent.Library, log),
         log => new DiagnosticItem(parent.Target, parent.Library, log));
 }
 protected override void UpdateContainsCollection(PackageBuildFileGroupItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         GetBuildFiles(parent).OrderBy(buildFile => buildFile),
         (buildFile, item) => StringComparer.Ordinal.Compare(buildFile, item.Path),
         (library, item) => false,
         buildFile => new PackageBuildFileItem(parent.Target, parent.Library, buildFile, parent.GroupType, _fileOpener));
 }
 protected override void UpdateContainsCollection(PackageContentFileGroupItem parent, AggregateContainsRelationCollectionSpan span)
 {
     span.UpdateContainsItems(
         parent.Library.ContentFiles.OrderBy(contentFile => contentFile.Path),
         (contentFile, item) => StringComparer.Ordinal.Compare(contentFile.Path, item.ContentFile.Path),
         (library, item) => false,
         contentFile => new PackageContentFileItem(parent.Target, parent.Library, contentFile, _fileIconProvider));
 }