Beispiel #1
0
        private IEnumerable <IResolutionContext> ResolveSameBranch(IToken token, IResolutionContext context)
        {
            var parent = closestSourceParents.GetOrAdd(token, () => GetClosestSourceParent(token));
            var all    = context.ResolveFromClosestParent(token, parent);

            return(all.Where(resolutionContext => resolutionContext.GetFromTree(node.Token).Contains(context)));
        }
Beispiel #2
0
        private IEnumerable <IResolutionContext> ResolveOtherBranch(IToken token, IResolutionContext context)
        {
            var parent = closestParents.GetOrAdd(token, () => GetClosestParent(token));

            return(context.ResolveFromClosestParent(token, parent));
        }
 public IEnumerable <IResolutionContext> ResolveFromClosestParent(IToken token, IToken parentToken)
 {
     return(parentToken == Node.Token
         ? GetFromTree(token)
         : parent.ResolveFromClosestParent(token, parentToken));
 }