コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }