public PathInfo GetOrAdd(string path) { if (_paths.TryGetValue(path, out var pathInfo)) { return(pathInfo); } pathInfo = PathResolver.GetPathInfo(path); _paths.Add(path, pathInfo); var trimmedPath = pathInfo.TrimmedPath; if ((pathInfo.IsBlockHelper || pathInfo.IsInversion) && !_paths.ContainsKey(trimmedPath)) { _paths.Add(trimmedPath, PathResolver.GetPathInfo(trimmedPath)); } return(pathInfo); }
public PathExpression(string path) { Path = path; PathInfo = PathResolver.GetPathInfo(path); }