private ImmutableArray <ResourceMetadata> GetAllResourceMetadata() { var resources = ImmutableArray.CreateBuilder <ResourceMetadata>(); foreach (var resourceSymbol in ResourceSymbolVisitor.GetAllResources(Root)) { if (this.ResourceMetadata.TryLookup(resourceSymbol.DeclaringSyntax) is { } resource) { resources.Add(resource); } } foreach (var parameterSymbol in Root.ParameterDeclarations) { if (this.ResourceMetadata.TryLookup(parameterSymbol.DeclaringSyntax) is { } resource) { resources.Add(resource); } } foreach (var moduleSymbol in Root.ModuleDeclarations) { if (moduleSymbol.TryGetSemanticModel(out var model, out _)) { foreach (var output in model.Outputs) { this.ResourceMetadata.TryAdd(moduleSymbol, output.Name); } } } return(resources.ToImmutable()); }
private ImmutableArray <ResourceMetadata> GetAllResourceMetadata() { var resources = ImmutableArray.CreateBuilder <ResourceMetadata>(); foreach (var resourceSymbol in ResourceSymbolVisitor.GetAllResources(Root)) { if (this.ResourceMetadata.TryLookup(resourceSymbol.DeclaringSyntax) is { } resource) { resources.Add(resource); } } return(resources.ToImmutable()); }
public IEnumerable <ResourceSymbol> GetAllResourceDeclarations() => ResourceSymbolVisitor.GetAllResources(this);