public static SyntaxBase?SafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName) => SafeGetBodyProperty(resourceSymbol, propertyName)?.Value;
public static SyntaxBase UnsafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName) => resourceSymbol.SafeGetBodyPropertyValue(propertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property '{propertyName}'");
public virtual void VisitResourceSymbol(ResourceSymbol symbol) { VisitDescendants(symbol); }
public static ObjectPropertySyntax?SafeGetBodyProperty(this ResourceSymbol resourceSymbol, string propertyName) => resourceSymbol.DeclaringResource.TryGetBody()?.SafeGetPropertyByName(propertyName);
public static ObjectPropertySyntax UnTryGetBodyProperty(this ResourceSymbol resourceSymbol, string propertyName) => resourceSymbol.TryGetBodyProperty(propertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property '{propertyName}'");
public override void VisitResourceSymbol(ResourceSymbol symbol) { base.VisitResourceSymbol(symbol); this.CollectDiagnostics(symbol); }
public override void VisitResourceSymbol(ResourceSymbol symbol) { resources.Add(symbol); base.VisitResourceSymbol(symbol); }
private static IEnumerable <ResourceAncestor> GetAncestorsYoungestToOldest(ImmutableDictionary <ResourceSymbol, ResourceAncestor> hierarchy, ResourceSymbol resource) { var visited = new HashSet <ResourceSymbol>(); while (hierarchy.TryGetValue(resource, out var ancestor) && !visited.Contains(ancestor.Resource)) { visited.Add(ancestor.Resource); yield return(ancestor); resource = ancestor.Resource; } }
public ResourceAncestor(ResourceAncestorType ancestorType, ResourceSymbol resource, SyntaxBase?indexExpression) { AncestorType = ancestorType; Resource = resource; IndexExpression = indexExpression; }