|
clang 23.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 10705 of file SemaCodeComplete.cpp.
References CodeCompleter, clang::SemaBase::getASTContext(), Resolver, and clang::SemaBase::SemaBase().
| void SemaCodeCompletion::CodeCompleteAfterFunctionEquals | ( | Declarator & | D | ) |
Definition at line 7479 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 6951 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 4935 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 10666 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteBracketDeclarator | ( | Scope * | S | ) |
Definition at line 6257 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), clang::SemaBase::getASTContext(), and Scope.
| void SemaCodeCompletion::CodeCompleteCase | ( | Scope * | S | ) |
Definition at line 6261 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 7272 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 4849 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::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 6803 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 5185 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 5256 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), and Scope.
| void SemaCodeCompletion::CodeCompleteFunctionQualifiers | ( | DeclSpec & | DS, |
| Declarator & | D, | ||
| const VirtSpecifiers * | VS = nullptr ) |
Definition at line 6234 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 10516 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 6890 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), CodeCompleteOrdinaryName(), clang::Data, clang::ValueDecl::getType(), PCC_Expression, and Scope.
| void SemaCodeCompletion::CodeCompleteInPreprocessorConditionalExclusion | ( | Scope * | S | ) |
Definition at line 10446 of file SemaCodeComplete.cpp.
References CodeCompleteOrdinaryName(), clang::Scope::getFnParent(), PCC_Namespace, PCC_RecoveryInFunction, and Scope.
| void SemaCodeCompletion::CodeCompleteKeywordAfterIf | ( | bool | AfterExclaim | ) | const |
Definition at line 6905 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 7435 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 5968 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 4700 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 7220 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 7171 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 10660 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_NaturalLanguage, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
| void SemaCodeCompletion::CodeCompleteObjCAtDirective | ( | Scope * | S | ) |
Definition at line 7624 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 7787 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 7774 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 7762 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 8981 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 8601 of file SemaCodeComplete.cpp.
References AddClassMessageCompletions(), clang::CodeCompletionContext::CCC_ObjCClassMessage, CodeCompleteExpression(), CodeCompleteOrdinaryName(), CodeCompleter, getPreferredArgumentTypeForMessageSend(), HandleCodeCompleteResults(), clang::QualType::isNull(), PCC_Expression, Scope, and clang::SemaBase::SemaRef.
Referenced by CodeCompleteObjCInstanceMessage(), and CodeCompleteObjCSuperMessage().
| void SemaCodeCompletion::CodeCompleteObjCClassPropertyRefExpr | ( | Scope * | S, |
| const IdentifierInfo & | ClassName, | ||
| SourceLocation | ClassNameLoc, | ||
| bool | IsBaseExprStatement ) |
Definition at line 6131 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 8801 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 9080 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 9026 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 8636 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 9045 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 8962 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 8389 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 9990 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 10168 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 8123 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 9122 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 7832 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 8064 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 8093 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 9160 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 8923 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 8894 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 8817 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 9000 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 8427 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 6839 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 7238 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 4746 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 5265 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 10257 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 10479 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 10504 of file SemaCodeComplete.cpp.
References clang::Macro, and Scope.
| void SemaCodeCompletion::CodeCompletePreprocessorMacroName | ( | bool | IsDefinition | ) |
Definition at line 10453 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 7016 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 6156 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 6222 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 7119 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 7150 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 10683 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 6417 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::Type::getPointeeType(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::Expr::isTypeDependent(), clang::Sema::LookupOrdinaryName, clang::DeclAccessPair::make(), mergeCandidatesWithResults(), ProduceSignatureHelp(), Resolver, and clang::SemaBase::SemaRef.
| QualType SemaCodeCompletion::ProduceConstructorSignatureHelp | ( | QualType | Type, |
| SourceLocation | Loc, | ||
| ArrayRef< Expr * > | Args, | ||
| SourceLocation | OpenParLoc, | ||
| bool | Braced ) |
Definition at line 6598 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 6676 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 6718 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().