public void EndResolveDependencies() { if (target.UsedContracts == null) { target.UsedContracts = usedContractNames == null || DeclaredContracts == null ? InternalHelpers.emptyStrings : DeclaredContracts .Where(x => usedContractNames.Contains(x, StringComparer.OrdinalIgnoreCase)) .ToArray(); } }
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); } } }