Пример #1
0
 public void EndResolveDependencies()
 {
     if (target.UsedContracts == null)
     {
         target.UsedContracts = usedContractNames == null || DeclaredContracts == null
                                     ? InternalHelpers.emptyStrings
                                     : DeclaredContracts
                                .Where(x => usedContractNames.Contains(x, StringComparer.OrdinalIgnoreCase))
                                .ToArray();
     }
 }
Пример #2
0
 public void UnionUsedContracts(ContainerService dependency)
 {
     if (dependency.UsedContracts == null)
     {
         return;
     }
     if (usedContractNames == null)
     {
         usedContractNames = new List <string>();
     }
     foreach (var dependencyContract in dependency.UsedContracts)
     {
         if (usedContractNames.ContainsIgnoringCase(dependencyContract))
         {
             continue;
         }
         string usedContractName = null;
         if (DeclaredContracts.ContainsIgnoringCase(dependencyContract))
         {
             usedContractName = dependencyContract;
         }
         else if (ExpandedUnions.HasValue)
         {
             foreach (var c in ExpandedUnions.Value.unionedContracts)
             {
                 if (c.children.ContainsIgnoringCase(dependencyContract))
                 {
                     usedContractName = c.parent;
                     break;
                 }
             }
         }
         if (usedContractName != null)
         {
             usedContractNames.Add(usedContractName);
         }
     }
 }