clang 22.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 119 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 10483 of file SemaCodeComplete.cpp.
References CodeCompleter, clang::SemaBase::getASTContext(), Resolver, and clang::SemaBase::SemaBase().
void SemaCodeCompletion::CodeCompleteAfterFunctionEquals | ( | Declarator & | D | ) |
Definition at line 7279 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 6758 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 4824 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 10444 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_Other, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
void SemaCodeCompletion::CodeCompleteBracketDeclarator | ( | Scope * | S | ) |
Definition at line 6143 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), clang::SemaBase::getASTContext(), and Scope.
void SemaCodeCompletion::CodeCompleteCase | ( | Scope * | S | ) |
Definition at line 6147 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 7072 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 4738 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 6662 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_DotMemberAccess, CodeCompleter, getAsRecordDecl(), getDesignatedType(), HandleCodeCompleteResults(), Resolver, clang::Result, and clang::SemaBase::SemaRef.
void SemaCodeCompletion::CodeCompleteExpression | ( | Scope * | S, |
const CodeCompleteExpressionData & | Data ) |
Perform code-completion in an expression context when we know what type we're looking for.
Definition at line 5074 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 ) |
Definition at line 5144 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), and Scope.
void SemaCodeCompletion::CodeCompleteFunctionQualifiers | ( | DeclSpec & | DS, |
Declarator & | D, | ||
const VirtSpecifiers * | VS = nullptr ) |
Definition at line 6120 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 10295 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 6697 of file SemaCodeComplete.cpp.
References CodeCompleteExpression(), CodeCompleteOrdinaryName(), clang::Data, clang::ValueDecl::getType(), PCC_Expression, and Scope.
void SemaCodeCompletion::CodeCompleteInPreprocessorConditionalExclusion | ( | Scope * | S | ) |
Definition at line 10223 of file SemaCodeComplete.cpp.
References CodeCompleteOrdinaryName(), clang::Scope::getFnParent(), PCC_Namespace, PCC_RecoveryInFunction, and Scope.
void SemaCodeCompletion::CodeCompleteKeywordAfterIf | ( | bool | AfterExclaim | ) | const |
Definition at line 6712 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 7235 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 5854 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 4589 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 7020 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 6971 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 10438 of file SemaCodeComplete.cpp.
References clang::CodeCompletionContext::CCC_NaturalLanguage, CodeCompleter, HandleCodeCompleteResults(), and clang::SemaBase::SemaRef.
void SemaCodeCompletion::CodeCompleteObjCAtDirective | ( | Scope * | S | ) |
Definition at line 7424 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 7587 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 7574 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 7562 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 8776 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 8401 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 6017 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 8596 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 8875 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 8821 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 8436 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 8840 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 8757 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 8189 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 9785 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 9963 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 7923 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 8917 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 7632 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 7864 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 7893 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 8955 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 8718 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 8689 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 8612 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 8795 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 8227 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::CodeCompleteOperatorName | ( | Scope * | S | ) |
Definition at line 7038 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 4635 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 5151 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 10052 of file SemaCodeComplete.cpp.
References 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 10258 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 10283 of file SemaCodeComplete.cpp.
References clang::Macro, and Scope.
void SemaCodeCompletion::CodeCompletePreprocessorMacroName | ( | bool | IsDefinition | ) |
Definition at line 10230 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, | ||
QualType | BaseType, | ||
QualType | PreferredType ) |
Definition at line 6823 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 6042 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 6108 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 6919 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 6950 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 10461 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 6303 of file SemaCodeComplete.cpp.
References anyNullArguments(), clang::UnresolvedSetImpl::append(), clang::LookupResult::asUnresolvedSet(), 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, clang::LookupResult::suppressDiagnostics(), and clang::T.
QualType SemaCodeCompletion::ProduceConstructorSignatureHelp | ( | QualType | Type, |
SourceLocation | Loc, | ||
ArrayRef< Expr * > | Args, | ||
SourceLocation | OpenParLoc, | ||
bool | Braced ) |
Definition at line 6484 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 6562 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 6604 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(), 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(), ProduceCallSignatureHelp(), and SemaCodeCompletion().