public override ResolveResultWithInfo ResolveWithoutCache() { var file = _owner.GetContainingFile(); if (file == null) { return(ResolveResultWithInfo.Unresolved); } foreach (var descendant in PascalPsiUtil.FindAllAccessibleDeclarations(_owner)) { if (descendant is IDeclaration declaration && declaration.DeclaredName == GetName()) { return(new ResolveResultWithInfo(new SimpleResolveResult(declaration.DeclaredElement), ResolveErrorType.OK)); } } return(ResolveResultWithInfo.Unresolved); }
protected override bool AddLookupItems(PascalCodeCompletionContextProvider.PascalCodeCompletionContext context, IItemsCollector collector) { var node = context.UnterminatedContext.TreeNode; if (node == null || !ShouldBeConsidered(node)) { return(false); } var declared = from element in PascalPsiUtil.FindAllAccessibleDeclared(node) select element.ShortName; var completions = declared.ToSet(); if (completions.IsEmpty()) { return(false); } foreach (var completion in completions) { collector.Add(GetLookupElement(completion, context.ElementRanges)); } return(true); }