protected override void BuildCompletionDataInternal(IEditorData Editor, char enteredChar) { ctxt = ResolutionContext.Create(Editor.ParseCache, new ConditionalCompilationFlags(Editor), ScopedBlock, ScopedStatement); ctxt.CurrentContext.ContextDependentOptions |= ResolutionOptions.ReturnMethodReferencesOnly; var ex = AccessExpression.AccessExpression == null ? AccessExpression.PostfixForeExpression : AccessExpression; var r = DResolver.StripAliasSymbol(Evaluation.EvaluateType(ex, ctxt)); if (r == null) //TODO: Add after-space list creation when an unbound . (Dot) was entered which means to access the global scope { return; } BuildCompletionData(r, ScopedBlock); if (CompletionOptions.Instance.ShowUFCSItems && (MemberFilter & MemberFilter.Methods) != 0 && !(r is UserDefinedType || r is PrimitiveType || r is PackageSymbol || r is ModuleSymbol)) { UFCSCompletionProvider.Generate(r, ctxt, Editor, CompletionDataGenerator); } }
protected override void BuildCompletionDataInternal(IEditorData Editor, string EnteredText) { var ctxt = ResolverContextStack.Create(Editor); var ex = AccessExpression.AccessExpression == null ? AccessExpression.PostfixForeExpression : AccessExpression; ctxt.PushNewScope(ScopedBlock).ScopedStatement = ScopedStatement; var r = Evaluation.EvaluateType(ex, ctxt); ctxt.Pop(); if (r == null) //TODO: Add after-space list creation when an unbound . (Dot) was entered which means to access the global scope { return; } BuildCompletionData(r, ScopedBlock); if (Editor.Options.ShowUFCSItems && !(r is UserDefinedType || r is PackageSymbol || r is ModuleSymbol)) { UFCSCompletionProvider.Generate(r, ctxt, Editor, CompletionDataGenerator); } }