|
clang 24.0.0git
|
#include "clang/Sema/SemaCodeCompletion.h"
Classes | |
| struct | CodeCompleteExpressionData |
Public Types | |
| enum | ParserCompletionContext { PCC_Namespace , PCC_Class , PCC_ObjCInterface , PCC_ObjCImplementation , PCC_ObjCInstanceVariableList , PCC_Template , PCC_MemberTemplate , PCC_Expression , PCC_Statement , PCC_ForInit , PCC_Condition , PCC_RecoveryInFunction , PCC_Type , PCC_ParenthesizedExpression , PCC_LocalDeclarationSpecifiers , PCC_TopLevelOrExpression } |
| Describes the context in which code completion occurs. More... | |
| enum class | AttributeCompletion { Attribute , Scope , None } |
| using | TemplateTy = OpaquePtr<TemplateName> |
| using | DeclGroupPtrTy = OpaquePtr<DeclGroupRef> |
Public Attributes | |
| CodeCompleteConsumer * | CodeCompleter |
| Code-completion consumer. | |
| HeuristicResolver | Resolver |
| Public Attributes inherited from clang::SemaBase | |
| Sema & | SemaRef |
Definition at line 38 of file SemaCodeCompletion.h.
Definition at line 43 of file SemaCodeCompletion.h.
Definition at line 42 of file SemaCodeCompletion.h.
|
strong |
| Enumerator | |
|---|---|
| Attribute | |
| Scope | |
| None | |
Definition at line 121 of file SemaCodeCompletion.h.
Describes the context in which code completion occurs.
Definition at line 50 of file SemaCodeCompletion.h.
| SemaCodeCompletion::SemaCodeCompletion | ( | Sema & | S, |
| CodeCompleteConsumer * | CompletionConsumer ) |
Definition at line 10776 of file SemaCodeComplete.cpp.
References CodeCompleter, clang::SemaBase::getASTContext(), Resolver, and clang::SemaBase::SemaBase().
| void SemaCodeCompletion::CodeCompleteAfterFunctionEquals | ( | Declarator & | D | ) |
Definition at line 7550 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::CPlusPlus11, clang::CPlusPlus20, clang::Declarator::getFunctionTypeInfo(), clang::SemaBase::getLangOpts(), clang::Declarator::getName(), HandleCodeCompleteResults(), clang::IK_ConstructorName, clang::IK_DestructorName, clang::IK_OperatorFunctionId, clang::Declarator::isFunctionDeclarator(), clang::DeclaratorChunk::FunctionTypeInfo::NumParams, and clang::SemaBase::SemaRef.
Definition at line 7022 of file SemaCodeComplete.cpp.
References AddMacroResults(), AddOrdinaryNameResults(), AddPrettyFunctionResults(), clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightParen, clang::CodeCompletionString::CK_SemiColon, clang::CodeCompletionString::CK_VerticalSpace, CodeCompleter, clang::CPlusPlus, clang::Scope::getFnParent(), clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, mapCodeCompletionContext(), PCC_Statement, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteAttribute | ( | AttributeCommonInfo::Syntax | Syntax, |
| AttributeCompletion | Completion = AttributeCompletion::Attribute, | ||
| const IdentifierInfo * | Scope = nullptr ) |
Definition at line 5005 of file SemaCodeComplete.cpp.
References clang::AttributeCommonInfo::AS_C23, clang::AttributeCommonInfo::AS_CXX11, clang::AttributeCommonInfo::AS_GNU, clang::CodeCompletionContext::CCC_Attribute, clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CodeCompleter, clang::First, clang::ParsedAttrInfo::getAllBuiltin(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::IdentifierInfo::getName(), HandleCodeCompleteResults(), None, noUnderscoreAttrScope(), Scope, clang::SemaBase::SemaRef, clang::Text, and underscoreAttrScope().
| void SemaCodeCompletion::CodeCompleteAvailabilityPlatformName | ( | ) |
Definition at line 10737 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteBracketDeclarator | ( | Scope * | S | ) |
Definition at line 6328 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), clang::SemaBase::getASTContext(), and Scope.
| void SemaCodeCompletion::CodeCompleteCase | ( | Scope * | S | ) |
Definition at line 6332 of file SemaCodeComplete.cpp.
References AddEnumerators(), AddMacroResults(), clang::CodeCompletionContext::CCC_Expression, CodeCompleteExpression(), CodeCompleter, clang::Data, clang::Enum, clang::Enumerator, clang::SemaBase::getASTContext(), clang::CaseStmt::getLHS(), HandleCodeCompleteResults(), clang::Expr::IgnoreParenCasts(), Scope, clang::SemaBase::SemaRef, clang::Switch, and clang::ast_matchers::type.
| void SemaCodeCompletion::CodeCompleteConstructorInitializer | ( | Decl * | Constructor, |
| ArrayRef< CXXCtorInitializer * > | Initializers ) |
Definition at line 7343 of file SemaCodeComplete.cpp.
References AddFunctionParameterChunks(), clang::CXXRecordDecl::bases(), clang::cast(), clang::CodeCompletionContext::CCC_Symbol, clang::CCP_MemberDeclaration, clang::CCP_NextInitializer, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CodeCompleter, clang::Constructor, CXCursor_MemberRef, clang::RecordDecl::fields(), clang::Function, clang::SemaBase::getASTContext(), getCompletionPrintingPolicy(), getConstructors(), clang::getCursorKindForDecl(), HandleCodeCompleteResults(), clang::isa(), clang::SemaBase::SemaRef, and clang::CXXRecordDecl::vbases().
| void SemaCodeCompletion::CodeCompleteDeclSpec | ( | Scope * | S, |
| DeclSpec & | DS, | ||
| bool | AllowNonIdentifiers, | ||
| bool | AllowNestedNameSpecifiers ) |
Definition at line 4919 of file SemaCodeComplete.cpp.
References AddClassMessageCompletions(), clang::Scope::AtCatchScope, clang::C99, clang::CodeCompletionContext::CCC_NewName, clang::CodeCompletionContext::CCC_SymbolOrNewName, clang::Scope::ClassScope, CodeCompleter, clang::CPlusPlus, clang::CPlusPlus11, clang::Scope::DeclScope, clang::Scope::FunctionPrototypeScope, clang::Scope::getFlags(), clang::SemaBase::getLangOpts(), clang::DeclSpec::getParsedSpecifiers(), clang::DeclSpec::getRepAsType(), clang::DeclSpec::getTypeSpecComplex(), clang::DeclSpec::getTypeSpecSign(), clang::DeclSpec::getTypeSpecType(), HandleCodeCompleteResults(), clang::DeclSpec::isTypeAltiVecVector(), clang::Sema::LookupNestedNameSpecifierName, clang::DeclSpec::PQ_TypeSpecifier, clang::Result, Scope, clang::SemaBase::SemaRef, clang::T, clang::Scope::TemplateParamScope, clang::DeclSpec::TSC_unspecified, clang::DeclSpec::TST_class, clang::DeclSpec::TST_struct, clang::DeclSpec::TST_typename, and clang::Unspecified.
| void SemaCodeCompletion::CodeCompleteDesignator | ( | const QualType | BaseType, |
| llvm::ArrayRef< Expr * > | InitExprs, | ||
| const Designation & | D ) |
Trigger code completion for a record of BaseType.
InitExprs are expressions in the initializer list seen so far and D is the current Designation being parsed.
Definition at line 6874 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_DotMemberAccess, CodeCompleter, getAsRecordDecl(), getDesignatedType(), HandleCodeCompleteResults(), lookupDirectField(), Resolver, clang::Result, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteExpression | ( | Scope * | S, |
| const CodeCompleteExpressionData & | Data, | ||
| bool | IsAddressOfOperand = false ) |
Perform code-completion in an expression context when we know what type we're looking for.
Definition at line 5255 of file SemaCodeComplete.cpp.
References AddEnumerators(), AddLambdaCompletion(), AddMacroResults(), AddOrdinaryNameResults(), AddPrettyFunctionResults(), clang::CodeCompletionContext::CCC_Expression, clang::CodeCompletionContext::CCC_ParenthesizedExpression, CodeCompleter, clang::CPlusPlus11, clang::Data, clang::Enum, clang::SemaBase::getASTContext(), clang::Scope::getFnParent(), clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, PCC_Expression, PCC_ParenthesizedExpression, Scope, clang::SemaBase::SemaRef, TryDeconstructFunctionLike(), and WantTypesInContext().
Referenced by CodeCompleteBracketDeclarator(), CodeCompleteCase(), CodeCompleteExpression(), CodeCompleteInitializer(), CodeCompleteObjCClassMessage(), CodeCompleteObjCForCollection(), CodeCompleteObjCInstanceMessage(), and CodeCompletePostfixExpression().
| void SemaCodeCompletion::CodeCompleteExpression | ( | Scope * | S, |
| QualType | PreferredType, | ||
| bool | IsParenthesized = false, | ||
| bool | IsAddressOfOperand = false ) |
Definition at line 5326 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), and Scope.
| void SemaCodeCompletion::CodeCompleteFunctionQualifiers | ( | DeclSpec & | DS, |
| Declarator & | D, | ||
| const VirtSpecifiers * | VS = nullptr ) |
Definition at line 6305 of file SemaCodeComplete.cpp.
References AddTypeQualifierResults(), clang::CodeCompletionContext::CCC_TypeQualifiers, CodeCompleter, clang::CPlusPlus11, clang::Declarator::getContext(), clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Declarator::isCtorOrDtor(), clang::VirtSpecifiers::isFinalSpecified(), clang::VirtSpecifiers::isOverrideSpecified(), clang::Declarator::isStaticMember(), clang::Member, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteIncludedFile | ( | llvm::StringRef | Dir, |
| bool | IsAngled ) |
Definition at line 10587 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_IncludedFile, CodeCompleter, HandleCodeCompleteResults(), clang::DirectoryLookup::LT_Framework, clang::DirectoryLookup::LT_HeaderMap, clang::DirectoryLookup::LT_NormalDir, and clang::SemaBase::SemaRef.
Definition at line 6961 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), CodeCompleteOrdinaryName(), clang::Data, clang::ValueDecl::getType(), PCC_Expression, and Scope.
| void SemaCodeCompletion::CodeCompleteInPreprocessorConditionalExclusion | ( | Scope * | S | ) |
Definition at line 10517 of file SemaCodeComplete.cpp.
References CodeCompleteOrdinaryName(), clang::Scope::getFnParent(), PCC_Namespace, PCC_RecoveryInFunction, and Scope.
| void SemaCodeCompletion::CodeCompleteKeywordAfterIf | ( | bool | AfterExclaim | ) | const |
Definition at line 6976 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightParen, clang::CodeCompletionString::CK_VerticalSpace, CodeCompleter, clang::CPlusPlus17, clang::CPlusPlus23, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteLambdaIntroducer | ( | Scope * | S, |
| LambdaIntroducer & | Intro, | ||
| bool | AfterAmpersand ) |
Definition at line 7506 of file SemaCodeComplete.cpp.
References addThisCompletion(), clang::C, clang::LambdaIntroducer::Captures, clang::CodeCompletionContext::CCC_Other, clang::CCP_LocalDeclaration, CodeCompleter, clang::Scope::decls(), clang::LambdaIntroducer::Default, clang::Scope::getParent(), HandleCodeCompleteResults(), isNamespaceScope(), clang::LCD_ByCopy, clang::LCK_This, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteMemberReferenceExpr | ( | Scope * | S, |
| Expr * | Base, | ||
| Expr * | OtherOpBase, | ||
| SourceLocation | OpLoc, | ||
| bool | IsArrow, | ||
| bool | IsBaseExprStatement, | ||
| QualType | PreferredType ) |
Definition at line 6039 of file SemaCodeComplete.cpp.
References AddObjCProperties(), AddRecordMembersCompletionResults(), clang::CodeCompletionContext::CCC_ArrowMemberAccess, clang::CodeCompletionContext::CCC_DotMemberAccess, clang::CodeCompletionContext::CCC_ObjCPropertyAccess, clang::Class, CodeCompleter, clang::FixItHint::CreateReplacement(), clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAs(), clang::Type::getAsObjCInterfacePointerType(), getAsRecordDecl(), clang::CharSourceRange::getTokenRange(), HandleCodeCompleteResults(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Type::isObjCObjectOrInterfaceType(), clang::Type::isObjCObjectPointerType(), clang::Sema::LookupMemberName, clang::ObjCObjectPointerType::quals(), Resolver, clang::Result, Scope, clang::SemaBase::SemaRef, clang::CodeCompletionContext::setPreferredType(), and clang::VK_LValue.
| void SemaCodeCompletion::CodeCompleteModuleImport | ( | SourceLocation | ImportLoc, |
| ModuleIdPath | Path ) |
Definition at line 4731 of file SemaCodeComplete.cpp.
References clang::Module::AllVisible, clang::CodeCompletionContext::CCC_Other, clang::CCP_Declaration, CodeCompleter, CXAvailability_Available, CXAvailability_NotAvailable, CXCursor_ModuleImportDecl, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Result, clang::SemaBase::SemaRef, and clang::Module::submodules().
| void SemaCodeCompletion::CodeCompleteNamespaceAliasDecl | ( | Scope * | S | ) |
Definition at line 7291 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Namespace, CodeCompleter, HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteNamespaceDecl | ( | Scope * | S | ) |
Definition at line 7242 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Namespace, clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::DeclContext::decls_begin(), clang::DeclContext::decls_end(), clang::SemaBase::getASTContext(), clang::Scope::getEntity(), clang::Scope::getParent(), HandleCodeCompleteResults(), clang::isa(), clang::DeclContext::isFileContext(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteNaturalLanguage | ( | ) |
Definition at line 10731 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_NaturalLanguage, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCAtDirective | ( | Scope * | S | ) |
Definition at line 7695 of file SemaCodeComplete.cpp.
References AddObjCImplementationResults(), AddObjCInterfaceResults(), AddObjCTopLevelResults(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::isa(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCAtExpression | ( | Scope * | S | ) |
Definition at line 7858 of file SemaCodeComplete.cpp.
References AddObjCExpressionResults(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCAtStatement | ( | Scope * | S | ) |
Definition at line 7845 of file SemaCodeComplete.cpp.
References AddObjCExpressionResults(), AddObjCStatementResults(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCAtVisibility | ( | Scope * | S | ) |
Definition at line 7833 of file SemaCodeComplete.cpp.
References AddObjCVisibilityResults(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCClassForwardDecl | ( | Scope * | S | ) |
Definition at line 9052 of file SemaCodeComplete.cpp.
References AddInterfaceResults(), clang::CodeCompletionContext::CCC_ObjCClassForwardDecl, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCClassMessage | ( | Scope * | S, |
| ParsedType | Receiver, | ||
| ArrayRef< const IdentifierInfo * > | SelIdents, | ||
| bool | AtArgumentExpression, | ||
| bool | IsSuper = false ) |
Definition at line 8672 of file SemaCodeComplete.cpp.
References AddClassMessageCompletions(), clang::CodeCompletionContext::CCC_ObjCClassMessage, CodeCompleteExpression(), CodeCompleteOrdinaryName(), CodeCompleter, getPreferredArgumentTypeForMessageSend(), HandleCodeCompleteResults(), clang::QualType::isNull(), PCC_Expression, Scope, clang::SemaBase::SemaRef, and clang::T.
Referenced by CodeCompleteObjCInstanceMessage(), and CodeCompleteObjCSuperMessage().
| void SemaCodeCompletion::CodeCompleteObjCClassPropertyRefExpr | ( | Scope * | S, |
| const IdentifierInfo & | ClassName, | ||
| SourceLocation | ClassNameLoc, | ||
| bool | IsBaseExprStatement ) |
Definition at line 6202 of file SemaCodeComplete.cpp.
References AddObjCProperties(), clang::CodeCompletionContext::CCC_ObjCPropertyAccess, CodeCompleter, HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCForCollection | ( | Scope * | S, |
| DeclGroupPtrTy | IterationVar ) |
Definition at line 8872 of file SemaCodeComplete.cpp.
References clang::DeclGroupRef::begin(), CodeCompleteExpression(), clang::Data, clang::DeclGroupRef::end(), clang::OpaquePtr< PtrTy >::get(), clang::OpaquePtr< PtrTy >::getAsOpaquePtr(), and Scope.
| void SemaCodeCompletion::CodeCompleteObjCImplementationCategory | ( | Scope * | S, |
| IdentifierInfo * | ClassName, | ||
| SourceLocation | ClassNameLoc ) |
Definition at line 9151 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_ObjCCategoryName, clang::Class, CodeCompleteObjCInterfaceCategory(), CodeCompleter, HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Result, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCImplementationDecl | ( | Scope * | S | ) |
Definition at line 9097 of file SemaCodeComplete.cpp.
References AddInterfaceResults(), clang::CodeCompletionContext::CCC_ObjCImplementation, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCInstanceMessage | ( | Scope * | S, |
| Expr * | Receiver, | ||
| ArrayRef< const IdentifierInfo * > | SelIdents, | ||
| bool | AtArgumentExpression, | ||
| ObjCInterfaceDecl * | Super = nullptr ) |
Definition at line 8707 of file SemaCodeComplete.cpp.
References AddObjCMethods(), AddSuperSendCompletion(), clang::CodeCompletionContext::CCC_ObjCInstanceMessage, CodeCompleteExpression(), CodeCompleteObjCClassMessage(), CodeCompleteOrdinaryName(), CodeCompleter, clang::CPlusPlus, clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAsObjCInterfacePointerType(), clang::Type::getAsObjCQualifiedIdType(), GetAssumedMessageSendExprType(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getPreferredArgumentTypeForMessageSend(), clang::Expr::getType(), HandleCodeCompleteResults(), isAcceptableObjCMethod(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::QualType::isNull(), clang::Selector::isNull(), clang::Type::isObjCClassType(), clang::Type::isObjCIdType(), clang::Type::isObjCQualifiedClassType(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::OpaquePtr< QualType >::make(), MK_Any, PCC_Expression, clang::Result, Scope, and clang::SemaBase::SemaRef.
Referenced by CodeCompleteObjCSuperMessage(), and CodeCompletePostfixExpression().
| void SemaCodeCompletion::CodeCompleteObjCInterfaceCategory | ( | Scope * | S, |
| IdentifierInfo * | ClassName, | ||
| SourceLocation | ClassNameLoc ) |
Definition at line 9116 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_ObjCCategoryName, clang::Class, CodeCompleter, clang::DeclContext::decls(), clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Result, Scope, and clang::SemaBase::SemaRef.
Referenced by CodeCompleteObjCImplementationCategory().
| void SemaCodeCompletion::CodeCompleteObjCInterfaceDecl | ( | Scope * | S | ) |
Definition at line 9033 of file SemaCodeComplete.cpp.
References AddInterfaceResults(), clang::CodeCompletionContext::CCC_ObjCInterfaceName, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCMessageReceiver | ( | Scope * | S | ) |
Definition at line 8460 of file SemaCodeComplete.cpp.
References AddMacroResults(), AddSuperSendCompletion(), addThisCompletion(), clang::CodeCompletionContext::CCC_ObjCMessageReceiver, CodeCompleter, clang::CPlusPlus11, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Method, clang::Result, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCMethodDecl | ( | Scope * | S, |
| std::optional< bool > | IsInstanceMethod, | ||
| ParsedType | ReturnType ) |
Definition at line 10061 of file SemaCodeComplete.cpp.
References AddObjCKeyValueCompletions(), AddObjCPassingTypeChunk(), clang::CodeCompletionContext::CCC_Other, clang::CCP_CodePattern, clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_SemiColon, clang::CodeCompletionString::CK_VerticalSpace, CodeCompleter, FindImplementableMethods(), clang::SemaBase::getASTContext(), getCompletionPrintingPolicy(), clang::Scope::getEntity(), clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), HandleCodeCompleteResults(), clang::QualType::isNull(), clang::Selector::isUnarySelector(), clang::Method, clang::Decl::OBJC_TQ_CSNullability, clang::Parameter, clang::Result, Scope, clang::SemaBase::SemaRef, setInBaseClass(), clang::QualType::substObjCTypeArgs(), and clang::ObjCInterfaceDecl::visible_categories().
| void SemaCodeCompletion::CodeCompleteObjCMethodDeclSelector | ( | Scope * | S, |
| bool | IsInstanceMethod, | ||
| bool | AtParameterName, | ||
| ParsedType | ReturnType, | ||
| ArrayRef< const IdentifierInfo * > | SelIdents ) |
Definition at line 10239 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, clang::CCP_Macro, CodeCompleter, CXCursor_MacroDefinition, HandleCodeCompleteResults(), isAcceptableObjCMethod(), clang::Selector::isNull(), MK_Any, clang::Result, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCPassingType | ( | Scope * | S, |
| ObjCDeclSpec & | DS, | ||
| bool | IsParameter ) |
Definition at line 8194 of file SemaCodeComplete.cpp.
References AddMacroResults(), AddOrdinaryNameResults(), clang::CodeCompletionContext::CCC_Type, clang::CCP_CodePattern, clang::CodeCompletionString::CK_Colon, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CodeCompleter, CXAvailability_Available, clang::ObjCDeclSpec::DQ_Bycopy, clang::ObjCDeclSpec::DQ_Byref, clang::ObjCDeclSpec::DQ_CSNullability, clang::ObjCDeclSpec::DQ_In, clang::ObjCDeclSpec::DQ_Inout, clang::ObjCDeclSpec::DQ_Oneway, clang::ObjCDeclSpec::DQ_Out, clang::ObjCDeclSpec::getObjCDeclQualifier(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, PCC_Type, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCPropertyDefinition | ( | Scope * | S | ) |
Definition at line 9193 of file SemaCodeComplete.cpp.
References AddObjCProperties(), clang::cast(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::DeclContext::decls(), getContainerDef(), HandleCodeCompleteResults(), clang::isa(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCPropertyFlags | ( | Scope * | S, |
| ObjCDeclSpec & | ODS ) |
Definition at line 7903 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::AddPlaceholderChunk(), clang::CodeCompletionBuilder::AddTextChunk(), clang::CodeCompletionBuilder::AddTypedTextChunk(), clang::CodeCompletionContext::CCC_Other, CodeCompleter, clang::SemaBase::getLangOpts(), clang::ObjCDeclSpec::getPropertyAttributes(), HandleCodeCompleteResults(), clang::ObjCPropertyAttribute::kind_assign, clang::ObjCPropertyAttribute::kind_atomic, clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_getter, clang::ObjCPropertyAttribute::kind_nonatomic, clang::ObjCPropertyAttribute::kind_nullability, clang::ObjCPropertyAttribute::kind_readonly, clang::ObjCPropertyAttribute::kind_readwrite, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_setter, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, clang::ObjCPropertyAttribute::kind_weak, clang::LangOptionsBase::NonGC, ObjCPropertyFlagConflicts(), Scope, clang::SemaBase::SemaRef, and clang::CodeCompletionBuilder::TakeString().
| void SemaCodeCompletion::CodeCompleteObjCPropertyGetter | ( | Scope * | S | ) |
Definition at line 8135 of file SemaCodeComplete.cpp.
References AddObjCMethods(), clang::CodeCompletionContext::CCC_Other, clang::Class, CodeCompleter, HandleCodeCompleteResults(), MK_ZeroArgSelector, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCPropertySetter | ( | Scope * | S | ) |
Definition at line 8164 of file SemaCodeComplete.cpp.
References AddObjCMethods(), clang::CodeCompletionContext::CCC_Other, clang::Class, CodeCompleter, HandleCodeCompleteResults(), MK_OneArgSelector, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar | ( | Scope * | S, |
| IdentifierInfo * | PropertyName ) |
Definition at line 9231 of file SemaCodeComplete.cpp.
References clang::cast(), clang::CodeCompletionContext::CCC_Other, clang::CCP_MemberDeclaration, clang::Class, CodeCompleter, clang::CodeCompletionAllocator::CopyString(), CXAvailability_Available, CXCursor_ObjCIvarDecl, clang::SemaBase::getASTContext(), getCompletionPrintingPolicy(), GetCompletionTypeString(), HandleCodeCompleteResults(), clang::isa(), clang::OBJC_PR_query_instance, clang::Property, clang::Result, clang::CodeCompletionResult::RK_Declaration, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCProtocolDecl | ( | Scope * | S | ) |
Definition at line 8994 of file SemaCodeComplete.cpp.
References AddProtocolResults(), clang::CodeCompletionContext::CCC_ObjCProtocolName, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCProtocolReferences | ( | ArrayRef< IdentifierLoc > | Protocols | ) |
Definition at line 8965 of file SemaCodeComplete.cpp.
References AddProtocolResults(), clang::CodeCompletionContext::CCC_ObjCProtocolName, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCSelector | ( | Scope * | S, |
| ArrayRef< const IdentifierInfo * > | SelIdents ) |
Definition at line 8888 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_SelectorName, CodeCompleter, clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), HandleCodeCompleteResults(), isAcceptableObjCSelector(), clang::Selector::isNull(), clang::Selector::isUnarySelector(), MK_Any, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCSuperclass | ( | Scope * | S, |
| IdentifierInfo * | ClassName, | ||
| SourceLocation | ClassNameLoc ) |
Definition at line 9071 of file SemaCodeComplete.cpp.
References AddInterfaceResults(), clang::CodeCompletionContext::CCC_ObjCInterfaceName, CodeCompleter, clang::SemaBase::getASTContext(), HandleCodeCompleteResults(), clang::isa(), clang::Sema::LookupOrdinaryName, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCSuperMessage | ( | Scope * | S, |
| SourceLocation | SuperLoc, | ||
| ArrayRef< const IdentifierInfo * > | SelIdents, | ||
| bool | AtArgumentExpression ) |
Definition at line 8498 of file SemaCodeComplete.cpp.
References CodeCompleteObjCClassMessage(), CodeCompleteObjCInstanceMessage(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ObjCInterfaceDecl::getSuperClass(), clang::isa(), clang::Sema::LookupOrdinaryName, clang::OpaquePtr< QualType >::make(), Scope, clang::SemaBase::SemaRef, and clang::UnqualifiedId::setIdentifier().
| void SemaCodeCompletion::CodeCompleteOffsetOfDesignator | ( | QualType | BaseType, |
| const Designation & | D ) |
Trigger code completion for a position inside a __builtin_offsetof member designator (after the type's ,, or after a .
).
Definition at line 6910 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_DotMemberAccess, CodeCompleter, getAsRecordDecl(), getDesignatedType(), clang::NamedDecl::getUnderlyingDecl(), HandleCodeCompleteResults(), clang::Sema::LookupMemberName, Resolver, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteOperatorName | ( | Scope * | S | ) |
Definition at line 7309 of file SemaCodeComplete.cpp.
References AddTypeSpecifierResults(), clang::CodeCompletionContext::CCC_Type, CodeCompleter, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Result, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteOrdinaryName | ( | Scope * | S, |
| SemaCodeCompletion::ParserCompletionContext | CompletionContext ) |
Definition at line 4816 of file SemaCodeComplete.cpp.
References AddMacroResults(), AddOrdinaryNameResults(), AddPrettyFunctionResults(), CodeCompleter, clang::CPlusPlus, clang::Scope::getFnParent(), clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), mapCodeCompletionContext(), MaybeAddOverrideCalls(), PCC_Class, PCC_Condition, PCC_Expression, PCC_ForInit, PCC_LocalDeclarationSpecifiers, PCC_MemberTemplate, PCC_Namespace, PCC_ObjCImplementation, PCC_ObjCInstanceVariableList, PCC_ObjCInterface, PCC_ParenthesizedExpression, PCC_RecoveryInFunction, PCC_Statement, PCC_Template, PCC_TopLevelOrExpression, PCC_Type, Scope, clang::SemaBase::SemaRef, clang::VK_LValue, and WantTypesInContext().
Referenced by CodeCompleteInitializer(), CodeCompleteInPreprocessorConditionalExclusion(), CodeCompleteObjCClassMessage(), and CodeCompleteObjCInstanceMessage().
| void SemaCodeCompletion::CodeCompletePostfixExpression | ( | Scope * | S, |
| ExprResult | LHS, | ||
| QualType | PreferredType ) |
Definition at line 5335 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), CodeCompleteObjCInstanceMessage(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getLangOpts(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::ObjC, and Scope.
| void SemaCodeCompletion::CodeCompletePreprocessorDirective | ( | bool | InConditional | ) |
Definition at line 10328 of file SemaCodeComplete.cpp.
References clang::C23, clang::CodeCompletionContext::CCC_PreprocessorDirective, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CodeCompleter, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), clang::ObjC, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompletePreprocessorExpression | ( | ) |
Definition at line 10550 of file SemaCodeComplete.cpp.
References AddMacroResults(), clang::CodeCompletionContext::CCC_PreprocessorExpression, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompletePreprocessorMacroArgument | ( | Scope * | S, |
| IdentifierInfo * | Macro, | ||
| MacroInfo * | MacroInfo, | ||
| unsigned | Argument ) |
Definition at line 10575 of file SemaCodeComplete.cpp.
References clang::Macro, and Scope.
| void SemaCodeCompletion::CodeCompletePreprocessorMacroName | ( | bool | IsDefinition | ) |
Definition at line 10524 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_MacroName, clang::CodeCompletionContext::CCC_MacroNameUse, clang::CCP_CodePattern, CodeCompleter, CXCursor_MacroDefinition, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteQualifiedId | ( | Scope * | S, |
| CXXScopeSpec & | SS, | ||
| bool | EnteringContext, | ||
| bool | IsUsingDeclaration, | ||
| bool | IsAddressOfOperand, | ||
| bool | IsInDeclarationContext, | ||
| QualType | BaseType, | ||
| QualType | PreferredType ) |
Definition at line 7087 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Symbol, CodeCompleter, clang::NestedNameSpecifier::getAsType(), clang::Scope::getEntity(), clang::NestedNameSpecifier::getKind(), clang::CXXScopeSpec::getScopeRep(), HandleCodeCompleteResults(), clang::NestedNameSpecifier::isDependent(), clang::CXXScopeSpec::isEmpty(), clang::DeclContext::isFileContext(), clang::CXXScopeSpec::isInvalid(), clang::QualType::isNull(), clang::Sema::LookupOrdinaryName, MaybeAddOverrideCalls(), Scope, clang::SemaBase::SemaRef, clang::CodeCompletionContext::setCXXScopeSpecifier(), clang::CodeCompletionContext::setIsUsingDeclaration(), and clang::NestedNameSpecifier::Type.
Definition at line 6227 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_ClassOrStructTag, clang::CodeCompletionContext::CCC_EnumTag, clang::CodeCompletionContext::CCC_Other, clang::CodeCompletionContext::CCC_UnionTag, CodeCompleter, HandleCodeCompleteResults(), clang::Sema::LookupNestedNameSpecifierName, clang::Sema::LookupTagName, Scope, clang::SemaBase::SemaRef, clang::DeclSpec::TST_class, clang::DeclSpec::TST_enum, clang::DeclSpec::TST_interface, clang::DeclSpec::TST_struct, and clang::DeclSpec::TST_union.
| void SemaCodeCompletion::CodeCompleteTypeQualifiers | ( | DeclSpec & | DS | ) |
Definition at line 6293 of file SemaCodeComplete.cpp.
References AddTypeQualifierResults(), clang::CodeCompletionContext::CCC_TypeQualifiers, CodeCompleter, clang::SemaBase::getLangOpts(), HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteUsing | ( | Scope * | S | ) |
Definition at line 7190 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_SymbolOrNewName, CodeCompleter, HandleCodeCompleteResults(), clang::Scope::isClassScope(), clang::Sema::LookupOrdinaryName, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteUsingDirective | ( | Scope * | S | ) |
Definition at line 7221 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Namespace, CodeCompleter, HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, Scope, and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::GatherGlobalCodeCompletions | ( | CodeCompletionAllocator & | Allocator, |
| CodeCompletionTUInfo & | CCTUInfo, | ||
| SmallVectorImpl< CodeCompletionResult > & | Results ) |
Definition at line 10754 of file SemaCodeComplete.cpp.
References AddMacroResults(), clang::CodeCompletionContext::CCC_Recovery, CodeCompleter, clang::SemaBase::getASTContext(), clang::Sema::LookupAnyName, and clang::SemaBase::SemaRef.
| QualType SemaCodeCompletion::ProduceCallSignatureHelp | ( | Expr * | Fn, |
| ArrayRef< Expr * > | Args, | ||
| SourceLocation | OpenParLoc ) |
Determines the preferred type of the current function argument, by examining the signatures of all possible overloads.
Returns null if unknown or ambiguous, or if code completion is off.
If the code completion point has been reached, also reports the function signatures that were considered.
FIXME: rename to GuessCallArgumentType to reduce confusion.
Definition at line 6488 of file SemaCodeComplete.cpp.
References anyNullArguments(), clang::UnresolvedSetImpl::append(), CodeCompleter, clang::CPlusPlus, clang::OverloadCandidateSet::CSK_CodeCompletion, clang::OverloadCandidateSet::empty(), clang::Decl::getAccess(), clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::Expr::isTypeDependent(), clang::Sema::LookupOrdinaryName, clang::DeclAccessPair::make(), mergeCandidatesWithResults(), ProduceSignatureHelp(), Resolver, clang::SemaBase::SemaRef, and clang::T.
| QualType SemaCodeCompletion::ProduceConstructorSignatureHelp | ( | QualType | Type, |
| SourceLocation | Loc, | ||
| ArrayRef< Expr * > | Args, | ||
| SourceLocation | OpenParLoc, | ||
| bool | Braced ) |
Definition at line 6669 of file SemaCodeComplete.cpp.
References clang::C, CodeCompleter, clang::CPlusPlus, clang::OverloadCandidateSet::CSK_CodeCompletion, clang::Type::getAsRecordDecl(), clang::SemaBase::getLangOpts(), getNextAggregateIndexAfterDesignatedInit(), clang::CodeCompleteConsumer::OverloadCandidate::getNumParams(), clang::CXXRecordDecl::isAggregate(), clang::TagDecl::isUnion(), clang::DeclAccessPair::make(), mergeCandidatesWithResults(), ProduceSignatureHelp(), and clang::SemaBase::SemaRef.
Referenced by ProduceCtorInitMemberSignatureHelp().
| QualType SemaCodeCompletion::ProduceCtorInitMemberSignatureHelp | ( | Decl * | ConstructorDecl, |
| CXXScopeSpec | SS, | ||
| ParsedType | TemplateTypeTy, | ||
| ArrayRef< Expr * > | ArgExprs, | ||
| IdentifierInfo * | II, | ||
| SourceLocation | OpenParLoc, | ||
| bool | Braced ) |
Definition at line 6747 of file SemaCodeComplete.cpp.
References CodeCompleter, clang::Constructor, ProduceConstructorSignatureHelp(), and clang::SemaBase::SemaRef.
| QualType SemaCodeCompletion::ProduceTemplateArgumentSignatureHelp | ( | TemplateTy | ParsedTemplate, |
| ArrayRef< ParsedTemplateArgument > | Args, | ||
| SourceLocation | LAngleLoc ) |
Definition at line 6789 of file SemaCodeComplete.cpp.
References argMatchesTemplateParams(), CodeCompleter, clang::OpaquePtr< PtrTy >::get(), ProduceSignatureHelp(), clang::SemaBase::SemaRef, and clang::Template.
| CodeCompleteConsumer* clang::SemaCodeCompletion::CodeCompleter |
Code-completion consumer.
Definition at line 46 of file SemaCodeCompletion.h.
Referenced by AddRecordMembersCompletionResults(), CodeCompleteAfterFunctionEquals(), CodeCompleteAfterIf(), CodeCompleteAttribute(), CodeCompleteAvailabilityPlatformName(), CodeCompleteCase(), CodeCompleteConstructorInitializer(), CodeCompleteDeclSpec(), CodeCompleteDesignator(), CodeCompleteExpression(), CodeCompleteFunctionQualifiers(), CodeCompleteIncludedFile(), CodeCompleteKeywordAfterIf(), CodeCompleteLambdaIntroducer(), CodeCompleteMemberReferenceExpr(), CodeCompleteModuleImport(), CodeCompleteNamespaceAliasDecl(), CodeCompleteNamespaceDecl(), CodeCompleteNaturalLanguage(), CodeCompleteObjCAtDirective(), CodeCompleteObjCAtExpression(), CodeCompleteObjCAtStatement(), CodeCompleteObjCAtVisibility(), CodeCompleteObjCClassForwardDecl(), CodeCompleteObjCClassMessage(), CodeCompleteObjCClassPropertyRefExpr(), CodeCompleteObjCImplementationCategory(), CodeCompleteObjCImplementationDecl(), CodeCompleteObjCInstanceMessage(), CodeCompleteObjCInterfaceCategory(), CodeCompleteObjCInterfaceDecl(), CodeCompleteObjCMessageReceiver(), CodeCompleteObjCMethodDecl(), CodeCompleteObjCMethodDeclSelector(), CodeCompleteObjCPassingType(), CodeCompleteObjCPropertyDefinition(), CodeCompleteObjCPropertyFlags(), CodeCompleteObjCPropertyGetter(), CodeCompleteObjCPropertySetter(), CodeCompleteObjCPropertySynthesizeIvar(), CodeCompleteObjCProtocolDecl(), CodeCompleteObjCProtocolReferences(), CodeCompleteObjCSelector(), CodeCompleteObjCSuperclass(), CodeCompleteOffsetOfDesignator(), CodeCompleteOperatorName(), CodeCompleteOrdinaryName(), CodeCompletePreprocessorDirective(), CodeCompletePreprocessorExpression(), CodeCompletePreprocessorMacroName(), CodeCompleteQualifiedId(), CodeCompleteTag(), CodeCompleteTypeQualifiers(), CodeCompleteUsing(), CodeCompleteUsingDirective(), GatherGlobalCodeCompletions(), ProduceCallSignatureHelp(), ProduceConstructorSignatureHelp(), ProduceCtorInitMemberSignatureHelp(), ProduceSignatureHelp(), ProduceTemplateArgumentSignatureHelp(), and SemaCodeCompletion().
| HeuristicResolver clang::SemaCodeCompletion::Resolver |
Definition at line 47 of file SemaCodeCompletion.h.
Referenced by CodeCompleteDesignator(), CodeCompleteMemberReferenceExpr(), CodeCompleteOffsetOfDesignator(), ProduceCallSignatureHelp(), and SemaCodeCompletion().