Example #1
0
 public static SyntaxBase?SafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName)
 => SafeGetBodyProperty(resourceSymbol, propertyName)?.Value;
Example #2
0
 public static SyntaxBase UnsafeGetBodyPropertyValue(this ResourceSymbol resourceSymbol, string propertyName)
 => resourceSymbol.SafeGetBodyPropertyValue(propertyName) ?? throw new ArgumentException($"Expected resource syntax body to contain property '{propertyName}'");
Example #3
0
 public virtual void VisitResourceSymbol(ResourceSymbol symbol)
 {
     VisitDescendants(symbol);
 }
Example #4
0
 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}'");
Example #6
0
 public override void VisitResourceSymbol(ResourceSymbol symbol)
 {
     base.VisitResourceSymbol(symbol);
     this.CollectDiagnostics(symbol);
 }
Example #7
0
 public override void VisitResourceSymbol(ResourceSymbol symbol)
 {
     resources.Add(symbol);
     base.VisitResourceSymbol(symbol);
 }
Example #8
0
        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;
            }
        }
Example #9
0
 public ResourceAncestor(ResourceAncestorType ancestorType, ResourceSymbol resource, SyntaxBase?indexExpression)
 {
     AncestorType    = ancestorType;
     Resource        = resource;
     IndexExpression = indexExpression;
 }