in src/Analyzer.Utilities/JsonPathResolver.cs [53:68]
public IEnumerable<IJsonPathResolver> Resolve(string jsonPath)
{
string fullPath = string.IsNullOrEmpty(jsonPath) ? currentPath : string.Join('.', currentPath, jsonPath);
if (!resolvedPaths.TryGetValue(fullPath, out var resolvedTokens))
{
resolvedTokens = this.currentScope.InsensitiveTokens(jsonPath).Select(t => (FieldContent)t).ToList();
resolvedPaths[fullPath] = resolvedTokens;
}
foreach (var token in resolvedTokens)
{
// If token is not null, defer to it's path, since the path looked up could include wildcards.
yield return new JsonPathResolver(token.Value, token?.Value?.Path ?? fullPath, this.resolvedPaths);
}
}