コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }