public static ImmutableDictionary <DeclaredSymbol, ImmutableHashSet <ResourceDependency> > GetResourceDependencies(SemanticModel model) { var visitor = new ResourceDependencyVisitor(model); visitor.Visit(model.Root.Syntax); var output = new Dictionary <DeclaredSymbol, ImmutableHashSet <ResourceDependency> >(); foreach (var kvp in visitor.resourceDependencies) { if (kvp.Key is ResourceSymbol || kvp.Key is ModuleSymbol) { output[kvp.Key] = OptimizeDependencies(kvp.Value); } } return(output.ToImmutableDictionary()); }
public static ImmutableDictionary <ResourceSymbol, ImmutableHashSet <ResourceSymbol> > GetResourceDependencies(SemanticModel.SemanticModel model) { var visitor = new ResourceDependencyVisitor(model); visitor.Visit(model.Root.Syntax); var output = new Dictionary <ResourceSymbol, ImmutableHashSet <ResourceSymbol> >(); foreach (var kvp in visitor.resourceDependencies) { if (kvp.Key is ResourceSymbol resourceSymbol) { output[resourceSymbol] = kvp.Value.ToImmutableHashSet(); } } return(output.ToImmutableDictionary()); }