clang: clang::SemaCodeCompletion Class Reference (original) (raw)

#include "[clang/Sema/SemaCodeCompletion.h](SemaCodeCompletion%5F8h%5Fsource.html)"

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 Member Functions
SemaCodeCompletion (Sema &S, CodeCompleteConsumer *CompletionConsumer)
void CodeCompleteModuleImport (SourceLocation ImportLoc, ModuleIdPath Path)
void CodeCompleteOrdinaryName (Scope *S, ParserCompletionContext CompletionContext)
void CodeCompleteDeclSpec (Scope *S, DeclSpec &DS, bool AllowNonIdentifiers, bool AllowNestedNameSpecifiers)
void CodeCompleteExpression (Scope *S, const CodeCompleteExpressionData &Data)
Perform code-completion in an expression context when we know what type we're looking for.
void CodeCompleteExpression (Scope *S, QualType PreferredType, bool IsParenthesized=false)
void CodeCompleteMemberReferenceExpr (Scope *S, Expr *Base, Expr *OtherOpBase, SourceLocation OpLoc, bool IsArrow, bool IsBaseExprStatement, QualType PreferredType)
void CodeCompletePostfixExpression (Scope *S, ExprResult LHS, QualType PreferredType)
void CodeCompleteTag (Scope *S, unsigned TagSpec)
void CodeCompleteTypeQualifiers (DeclSpec &DS)
void CodeCompleteFunctionQualifiers (DeclSpec &DS, Declarator &D, const VirtSpecifiers *VS=nullptr)
void CodeCompleteBracketDeclarator (Scope *S)
void CodeCompleteCase (Scope *S)
void CodeCompleteAttribute (AttributeCommonInfo::Syntax Syntax, AttributeCompletion Completion=AttributeCompletion::Attribute, const IdentifierInfo *Scope=nullptr)
QualType 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.
QualType ProduceConstructorSignatureHelp (QualType Type, SourceLocation Loc, ArrayRef< Expr * > Args, SourceLocation OpenParLoc, bool Braced)
QualType ProduceCtorInitMemberSignatureHelp (Decl *ConstructorDecl, CXXScopeSpec SS, ParsedType TemplateTypeTy, ArrayRef< Expr * > ArgExprs, IdentifierInfo *II, SourceLocation OpenParLoc, bool Braced)
QualType ProduceTemplateArgumentSignatureHelp (TemplateTy, ArrayRef< ParsedTemplateArgument >, SourceLocation LAngleLoc)
void CodeCompleteInitializer (Scope *S, Decl *D)
void CodeCompleteDesignator (const QualType BaseType, llvm::ArrayRef< Expr * > InitExprs, const Designation &D)
Trigger code completion for a record of BaseType.
void CodeCompleteAfterIf (Scope *S, bool IsBracedThen)
void CodeCompleteQualifiedId (Scope *S, CXXScopeSpec &SS, bool EnteringContext, bool IsUsingDeclaration, QualType BaseType, QualType PreferredType)
void CodeCompleteUsing (Scope *S)
void CodeCompleteUsingDirective (Scope *S)
void CodeCompleteNamespaceDecl (Scope *S)
void CodeCompleteNamespaceAliasDecl (Scope *S)
void CodeCompleteOperatorName (Scope *S)
void CodeCompleteConstructorInitializer (Decl *Constructor, ArrayRef< CXXCtorInitializer * > Initializers)
void CodeCompleteLambdaIntroducer (Scope *S, LambdaIntroducer &Intro, bool AfterAmpersand)
void CodeCompleteAfterFunctionEquals (Declarator &D)
void CodeCompleteObjCAtDirective (Scope *S)
void CodeCompleteObjCAtVisibility (Scope *S)
void CodeCompleteObjCAtStatement (Scope *S)
void CodeCompleteObjCAtExpression (Scope *S)
void CodeCompleteObjCPropertyFlags (Scope *S, ObjCDeclSpec &ODS)
void CodeCompleteObjCPropertyGetter (Scope *S)
void CodeCompleteObjCPropertySetter (Scope *S)
void CodeCompleteObjCPassingType (Scope *S, ObjCDeclSpec &DS, bool IsParameter)
void CodeCompleteObjCMessageReceiver (Scope *S)
void CodeCompleteObjCSuperMessage (Scope *S, SourceLocation SuperLoc, ArrayRef< const IdentifierInfo * > SelIdents, bool AtArgumentExpression)
void CodeCompleteObjCClassMessage (Scope *S, ParsedType Receiver, ArrayRef< const IdentifierInfo * > SelIdents, bool AtArgumentExpression, bool IsSuper=false)
void CodeCompleteObjCInstanceMessage (Scope *S, Expr *Receiver, ArrayRef< const IdentifierInfo * > SelIdents, bool AtArgumentExpression, ObjCInterfaceDecl *Super=nullptr)
void CodeCompleteObjCForCollection (Scope *S, DeclGroupPtrTy IterationVar)
void CodeCompleteObjCSelector (Scope *S, ArrayRef< const IdentifierInfo * > SelIdents)
void CodeCompleteObjCProtocolReferences (ArrayRef< IdentifierLocPair > Protocols)
void CodeCompleteObjCProtocolDecl (Scope *S)
void CodeCompleteObjCInterfaceDecl (Scope *S)
void CodeCompleteObjCClassForwardDecl (Scope *S)
void CodeCompleteObjCSuperclass (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc)
void CodeCompleteObjCImplementationDecl (Scope *S)
void CodeCompleteObjCInterfaceCategory (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc)
void CodeCompleteObjCImplementationCategory (Scope *S, IdentifierInfo *ClassName, SourceLocation ClassNameLoc)
void CodeCompleteObjCPropertyDefinition (Scope *S)
void CodeCompleteObjCPropertySynthesizeIvar (Scope *S, IdentifierInfo *PropertyName)
void CodeCompleteObjCMethodDecl (Scope *S, std::optional< bool > IsInstanceMethod, ParsedType ReturnType)
void CodeCompleteObjCMethodDeclSelector (Scope *S, bool IsInstanceMethod, bool AtParameterName, ParsedType ReturnType, ArrayRef< const IdentifierInfo * > SelIdents)
void CodeCompleteObjCClassPropertyRefExpr (Scope *S, const IdentifierInfo &ClassName, SourceLocation ClassNameLoc, bool IsBaseExprStatement)
void CodeCompletePreprocessorDirective (bool InConditional)
void CodeCompleteInPreprocessorConditionalExclusion (Scope *S)
void CodeCompletePreprocessorMacroName (bool IsDefinition)
void CodeCompletePreprocessorExpression ()
void CodeCompletePreprocessorMacroArgument (Scope *S, IdentifierInfo *Macro, MacroInfo *MacroInfo, unsigned Argument)
void CodeCompleteIncludedFile (llvm::StringRef Dir, bool IsAngled)
void CodeCompleteNaturalLanguage ()
void CodeCompleteAvailabilityPlatformName ()
void GatherGlobalCodeCompletions (CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, SmallVectorImpl< CodeCompletionResult > &Results)
- Public Member Functions inherited from clang::SemaBase
SemaBase (Sema &S)
ASTContext & getASTContext () const
DiagnosticsEngine & getDiagnostics () const
const LangOptions & getLangOpts () const
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
Emit a diagnostic.
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
Emit a partial diagnostic.
PartialDiagnostic PDiag (unsigned DiagID=0)
Build a partial diagnostic.
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.

DeclGroupPtrTy

TemplateTy

AttributeCompletion

ParserCompletionContext

Describes the context in which code completion occurs.

Enumerator
PCC_Namespace Code completion occurs at top-level or namespace context.
PCC_Class Code completion occurs within a class, struct, or union.
PCC_ObjCInterface Code completion occurs within an Objective-C interface, protocol, or category.
PCC_ObjCImplementation Code completion occurs within an Objective-C implementation or category implementation.
PCC_ObjCInstanceVariableList Code completion occurs within the list of instance variables in an Objective-C interface, protocol, category, or implementation.
PCC_Template Code completion occurs following one or more template headers.
PCC_MemberTemplate Code completion occurs following one or more template headers within a class.
PCC_Expression Code completion occurs within an expression.
PCC_Statement Code completion occurs within a statement, which may also be an expression or a declaration.
PCC_ForInit Code completion occurs at the beginning of the initialization statement (or expression) in a for loop.
PCC_Condition Code completion occurs within the condition of an if, while, switch, or for statement.
PCC_RecoveryInFunction Code completion occurs within the body of a function on a recovery path, where we do not have a specific handle on our position in the grammar.
PCC_Type Code completion occurs where only a type is permitted.
PCC_ParenthesizedExpression Code completion occurs in a parenthesized expression, which might also be a type cast.
PCC_LocalDeclarationSpecifiers Code completion occurs within a sequence of declaration specifiers within a function, method, or block.
PCC_TopLevelOrExpression Code completion occurs at top-level in a REPL session.

Definition at line 50 of file SemaCodeCompletion.h.

CodeCompleteAfterFunctionEquals()

void SemaCodeCompletion::CodeCompleteAfterFunctionEquals ( Declarator & D )

CodeCompleteAfterIf()

void SemaCodeCompletion::CodeCompleteAfterIf ( Scope * S,
bool IsBracedThen
)

Definition at line 6765 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, clang::CPlusPlus, clang::Sema::CurContext, HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), mapCodeCompletionContext(), and clang::Sema::PP.

CodeCompleteAttribute()

Definition at line 4725 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, clang::First, clang::ParsedAttrInfo::getAllBuiltin(), clang::IdentifierInfo::getName(), HandleCodeCompleteResults(), noUnderscoreAttrScope(), Text, and underscoreAttrScope().

CodeCompleteAvailabilityPlatformName()

void SemaCodeCompletion::CodeCompleteAvailabilityPlatformName ( )

CodeCompleteBracketDeclarator()

void SemaCodeCompletion::CodeCompleteBracketDeclarator ( Scope * S )

CodeCompleteCase()

void SemaCodeCompletion::CodeCompleteCase ( Scope * S )

Definition at line 6150 of file SemaCodeComplete.cpp.

References AddEnumerators(), AddMacroResults(), clang::CodeCompletionContext::CCC_Expression, clang::Sema::CurContext, clang::Data, clang::Enum, clang::Sema::getCurFunction(), clang::CaseStmt::getLHS(), HandleCodeCompleteResults(), clang::Expr::IgnoreParenCasts(), clang::Sema::PP, clang::Switch, clang::sema::FunctionScopeInfo::SwitchStack, and clang::ast_matchers::type.

CodeCompleteConstructorInitializer()

Definition at line 7080 of file SemaCodeComplete.cpp.

References AddFunctionParameterChunks(), clang::Sema::AdjustDeclIfTemplate(), clang::CXXRecordDecl::bases(), clang::CodeCompletionContext::CCC_Symbol, clang::CCP_MemberDeclaration, clang::CCP_NextInitializer, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CXCursor_MemberRef, E, clang::RecordDecl::fields(), clang::Function, getCompletionPrintingPolicy(), getConstructors(), clang::getCursorKindForDecl(), HandleCodeCompleteResults(), clang::Sema::PP, Priority, and clang::CXXRecordDecl::vbases().

CodeCompleteDeclSpec()

void SemaCodeCompletion::CodeCompleteDeclSpec ( Scope * S,
DeclSpec & DS,
bool AllowNonIdentifiers,
bool AllowNestedNameSpecifiers
)

Definition at line 4639 of file SemaCodeComplete.cpp.

References AddClassMessageCompletions(), clang::Scope::AtCatchScope, clang::C99, clang::CodeCompletionContext::CCC_NewName, clang::CodeCompletionContext::CCC_SymbolOrNewName, clang::Scope::ClassScope, clang::CPlusPlus, clang::CPlusPlus11, clang::Sema::CurContext, clang::Scope::DeclScope, clang::Scope::FunctionPrototypeScope, clang::DeclSpec::getParsedSpecifiers(), clang::DeclSpec::getRepAsType(), clang::DeclSpec::getTypeSpecComplex(), clang::DeclSpec::getTypeSpecSign(), clang::DeclSpec::getTypeSpecType(), HandleCodeCompleteResults(), clang::Type::isObjCObjectOrInterfaceType(), clang::DeclSpec::isTypeAltiVecVector(), clang::Sema::LookupNestedNameSpecifierName, clang::Sema::LookupVisibleDecls(), clang::DeclSpec::PQ_TypeSpecifier, clang::Result, clang::T, clang::Scope::TemplateParamScope, clang::DeclSpec::TSC_unspecified, clang::DeclSpec::TST_class, clang::DeclSpec::TST_struct, clang::DeclSpec::TST_typename, and clang::Unspecified.

CodeCompleteDesignator()

CodeCompleteExpression() [1/2]

Perform code-completion in an expression context when we know what type we're looking for.

Definition at line 4976 of file SemaCodeComplete.cpp.

References AddEnumerators(), AddLambdaCompletion(), AddMacroResults(), AddOrdinaryNameResults(), AddPrettyFunctionResults(), clang::CodeCompletionContext::CCC_Expression, clang::CodeCompletionContext::CCC_ParenthesizedExpression, clang::CPlusPlus11, clang::Sema::CurContext, clang::Data, clang::Enum, HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), clang::Sema::PP, TryDeconstructFunctionLike(), and WantTypesInContext().

Referenced by clang::Parser::ParseAssignmentExpression(), and clang::Parser::ParseConditionalExpression().

CodeCompleteExpression() [2/2]

void SemaCodeCompletion::CodeCompleteExpression ( Scope * S,
QualType PreferredType,
bool IsParenthesized = false
)

CodeCompleteFunctionQualifiers()

CodeCompleteIncludedFile()

void SemaCodeCompletion::CodeCompleteIncludedFile ( llvm::StringRef Dir,
bool IsAngled
)

Definition at line 10299 of file SemaCodeComplete.cpp.

References Begin, clang::CodeCompletionContext::CCC_IncludedFile, D, Filename, clang::Preprocessor::getCurrentFileLexer(), clang::PreprocessorLexer::getFileEntry(), clang::SourceManager::getFileManager(), clang::Preprocessor::getHeaderSearchInfo(), clang::Sema::getSourceManager(), clang::FileManager::getVirtualFileSystem(), HandleCodeCompleteResults(), clang::DirectoryLookup::LT_Framework, clang::DirectoryLookup::LT_HeaderMap, clang::DirectoryLookup::LT_NormalDir, and clang::Sema::PP.

CodeCompleteInitializer()

void SemaCodeCompletion::CodeCompleteInitializer ( Scope * S,
Decl * D
)

CodeCompleteInPreprocessorConditionalExclusion()

void SemaCodeCompletion::CodeCompleteInPreprocessorConditionalExclusion ( Scope * S )

CodeCompleteLambdaIntroducer()

Definition at line 7243 of file SemaCodeComplete.cpp.

References addThisCompletion(), clang::C, clang::LambdaIntroducer::Captures, clang::CodeCompletionContext::CCC_Other, clang::CCP_LocalDeclaration, clang::Sema::CurContext, D, clang::LambdaIntroducer::Default, HandleCodeCompleteResults(), isNamespaceScope(), clang::LCD_ByCopy, and clang::LCK_This.

CodeCompleteMemberReferenceExpr()

Definition at line 5857 of file SemaCodeComplete.cpp.

References AddObjCProperties(), AddRecordMembersCompletionResults(), clang::Type::castAs(), clang::CodeCompletionContext::CCC_ArrowMemberAccess, clang::CodeCompletionContext::CCC_DotMemberAccess, clang::CodeCompletionContext::CCC_ObjCPropertyAccess, clang::Class, clang::FixItHint::CreateReplacement(), clang::Sema::CurContext, clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAs(), clang::Type::getAsObjCInterfacePointerType(), getAsRecordDecl(), clang::HeuristicResolver::getPointeeType(), clang::CharSourceRange::getTokenRange(), clang::QualType::getTypePtr(), HandleCodeCompleteResults(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::QualType::isNull(), clang::Type::isObjCObjectOrInterfaceType(), clang::Type::isObjCObjectPointerType(), clang::Type::isObjCObjectType(), clang::Type::isTemplateTypeParmType(), clang::Sema::LookupMemberName, clang::Sema::LookupVisibleDecls(), clang::Sema::PerformMemberExprBaseConversion(), clang::ObjCObjectPointerType::quals(), clang::Result, clang::CodeCompletionContext::setPreferredType(), and clang::VK_LValue.

CodeCompleteModuleImport()

Definition at line 4497 of file SemaCodeComplete.cpp.

References clang::Module::AllVisible, clang::CodeCompletionContext::CCC_Other, clang::CCP_Declaration, clang::HeaderSearch::collectAllModules(), CXAvailability_Available, CXAvailability_NotAvailable, CXCursor_ModuleImportDecl, clang::Preprocessor::getHeaderSearchInfo(), clang::Preprocessor::getModuleLoader(), HandleCodeCompleteResults(), clang::ModuleLoader::loadModule(), Path, clang::Sema::PP, clang::Result, and clang::Module::submodules().

CodeCompleteNamespaceAliasDecl()

void SemaCodeCompletion::CodeCompleteNamespaceAliasDecl ( Scope * S )

CodeCompleteNamespaceDecl()

void SemaCodeCompletion::CodeCompleteNamespaceDecl ( Scope * S )

CodeCompleteNaturalLanguage()

void SemaCodeCompletion::CodeCompleteNaturalLanguage ( )

CodeCompleteObjCAtDirective()

void SemaCodeCompletion::CodeCompleteObjCAtDirective ( Scope * S )

CodeCompleteObjCAtExpression()

void SemaCodeCompletion::CodeCompleteObjCAtExpression ( Scope * S )

CodeCompleteObjCAtStatement()

void SemaCodeCompletion::CodeCompleteObjCAtStatement ( Scope * S )

CodeCompleteObjCAtVisibility()

void SemaCodeCompletion::CodeCompleteObjCAtVisibility ( Scope * S )

CodeCompleteObjCClassForwardDecl()

void SemaCodeCompletion::CodeCompleteObjCClassForwardDecl ( Scope * S )

CodeCompleteObjCClassMessage()

CodeCompleteObjCClassPropertyRefExpr()

CodeCompleteObjCForCollection()

void SemaCodeCompletion::CodeCompleteObjCForCollection ( Scope * S,
DeclGroupPtrTy IterationVar
)

CodeCompleteObjCImplementationCategory()

CodeCompleteObjCImplementationDecl()

void SemaCodeCompletion::CodeCompleteObjCImplementationDecl ( Scope * S )

CodeCompleteObjCInstanceMessage()

Definition at line 8442 of file SemaCodeComplete.cpp.

References AddObjCMethods(), AddSuperSendCompletion(), clang::CodeCompletionContext::CCC_ObjCInstanceMessage, clang::Sema::CurContext, clang::Sema::DefaultFunctionArrayLvalueConversion(), clang::Sema::ExternalSource, clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAsObjCInterfacePointerType(), clang::Type::getAsObjCQualifiedIdType(), GetAssumedMessageSendExprType(), clang::Sema::getCurMethodDecl(), clang::ObjCMethodList::getMethod(), clang::ASTContext::getObjCIdType(), clang::ASTContext::getObjCInterfaceType(), clang::ASTContext::getObjCObjectPointerType(), 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(), clang::SemaObjC::MethodPool, MK_Any, clang::Sema::ObjC(), clang::Sema::PerformContextuallyConvertToObjCPointer(), clang::SemaObjC::ReadMethodPool(), and clang::Result.

CodeCompleteObjCInterfaceCategory()

Definition at line 8847 of file SemaCodeComplete.cpp.

References Category, clang::CodeCompletionContext::CCC_ObjCCategoryName, clang::Class, clang::Sema::CurContext, D, clang::DeclContext::decls(), clang::Decl::getTranslationUnitDecl(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupSingleName(), clang::Result, and clang::Sema::TUScope.

CodeCompleteObjCInterfaceDecl()

void SemaCodeCompletion::CodeCompleteObjCInterfaceDecl ( Scope * S )

CodeCompleteObjCMessageReceiver()

void SemaCodeCompletion::CodeCompleteObjCMessageReceiver ( Scope * S )

Definition at line 8196 of file SemaCodeComplete.cpp.

References AddMacroResults(), AddSuperSendCompletion(), addThisCompletion(), clang::CodeCompletionContext::CCC_ObjCMessageReceiver, clang::CPlusPlus11, clang::Sema::CurContext, clang::Sema::getCurMethodDecl(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), clang::Sema::PP, and clang::Result.

CodeCompleteObjCMethodDecl()

void SemaCodeCompletion::CodeCompleteObjCMethodDecl ( Scope * S,
std::optional< bool > IsInstanceMethod,
ParsedType ReturnType
)

Definition at line 9790 of file SemaCodeComplete.cpp.

References AddObjCKeyValueCompletions(), AddObjCPassingTypeChunk(), Category, 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, clang::Sema::CurContext, D, FindImplementableMethods(), getCompletionPrintingPolicy(), clang::ASTContext::getLangOpts(), clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), clang::ObjCMethodDecl::getObjCDeclQualifier(), clang::ObjCMethodDecl::getReturnType(), clang::ObjCMethodDecl::getSelector(), clang::ObjCMethodDecl::getSendResultType(), clang::Sema::GetTypeFromParser(), HandleCodeCompleteResults(), Id, clang::ObjCMethodDecl::isInstanceMethod(), clang::QualType::isNull(), clang::DeclContext::isObjCContainer(), clang::Selector::isUnarySelector(), clang::ObjCMethodDecl::isVariadic(), clang::Type::isVoidType(), clang::Decl::OBJC_TQ_CSNullability, P, clang::ObjCMethodDecl::param_begin(), clang::ObjCMethodDecl::param_end(), clang::ObjCMethodDecl::param_size(), clang::Parameter, Priority, clang::Result, setInBaseClass(), clang::QualType::stripObjCKindOfType(), clang::AttributedType::stripOuterNullability(), clang::QualType::substObjCTypeArgs(), and clang::ObjCInterfaceDecl::visible_categories().

CodeCompleteObjCMethodDeclSelector()

Definition at line 9968 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_Other, clang::CCP_Macro, clang::Sema::CurContext, CXCursor_MacroDefinition, clang::Sema::ExternalSource, clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::QualType::getNonReferenceType(), clang::Sema::GetTypeFromParser(), HandleCodeCompleteResults(), isAcceptableObjCMethod(), clang::Selector::isNull(), clang::Preprocessor::macros(), clang::SemaObjC::MethodPool, MK_Any, clang::Sema::ObjC(), clang::Sema::PP, clang::SemaObjC::ReadMethodPool(), and clang::Result.

CodeCompleteObjCPassingType()

Definition at line 7930 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, clang::Sema::CurContext, 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::Preprocessor::isMacroDefined(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), and clang::Sema::PP.

CodeCompleteObjCPropertyDefinition()

void SemaCodeCompletion::CodeCompleteObjCPropertyDefinition ( Scope * S )

CodeCompleteObjCPropertyFlags()

void SemaCodeCompletion::CodeCompleteObjCPropertyFlags ( Scope * S,
ObjCDeclSpec & ODS
)

Definition at line 7640 of file SemaCodeComplete.cpp.

References clang::CodeCompletionBuilder::AddPlaceholderChunk(), clang::CodeCompletionBuilder::AddTextChunk(), clang::CodeCompletionBuilder::AddTypedTextChunk(), clang::CodeCompletionContext::CCC_Other, 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(), and clang::CodeCompletionBuilder::TakeString().

CodeCompleteObjCPropertyGetter()

void SemaCodeCompletion::CodeCompleteObjCPropertyGetter ( Scope * S )

CodeCompleteObjCPropertySetter()

void SemaCodeCompletion::CodeCompleteObjCPropertySetter ( Scope * S )

CodeCompleteObjCPropertySynthesizeIvar()

void SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar ( Scope * S,
IdentifierInfo * PropertyName
)

Definition at line 8961 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_Other, clang::CCP_MemberDeclaration, clang::Class, clang::Sema::CurContext, CXAvailability_Available, CXCursor_ObjCIvarDecl, getCompletionPrintingPolicy(), GetCompletionTypeString(), HandleCodeCompleteResults(), clang::OBJC_PR_query_instance, Priority, clang::Property, clang::Result, and clang::CodeCompletionResult::RK_Declaration.

CodeCompleteObjCProtocolDecl()

void SemaCodeCompletion::CodeCompleteObjCProtocolDecl ( Scope * S )

CodeCompleteObjCProtocolReferences()

CodeCompleteObjCSelector()

Definition at line 8619 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_SelectorName, clang::Sema::ExternalSource, clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), HandleCodeCompleteResults(), isAcceptableObjCSelector(), clang::Selector::isNull(), clang::Selector::isUnarySelector(), clang::SemaObjC::MethodPool, MK_Any, clang::Sema::ObjC(), and clang::SemaObjC::ReadMethodPool().

CodeCompleteObjCSuperclass()

CodeCompleteObjCSuperMessage()

CodeCompleteOperatorName()

void SemaCodeCompletion::CodeCompleteOperatorName ( Scope * S )

CodeCompleteOrdinaryName()

Definition at line 4543 of file SemaCodeComplete.cpp.

References AddMacroResults(), AddOrdinaryNameResults(), AddPrettyFunctionResults(), clang::CPlusPlus, clang::Sema::CurContext, clang::Sema::getCurrentThisType(), HandleCodeCompleteResults(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), mapCodeCompletionContext(), MaybeAddOverrideCalls(), clang::Sema::PP, clang::VK_LValue, and WantTypesInContext().

CodeCompletePostfixExpression()

CodeCompletePreprocessorDirective()

void SemaCodeCompletion::CodeCompletePreprocessorDirective ( bool InConditional )

CodeCompletePreprocessorExpression()

void SemaCodeCompletion::CodeCompletePreprocessorExpression ( )

CodeCompletePreprocessorMacroArgument()

CodeCompletePreprocessorMacroName()

void SemaCodeCompletion::CodeCompletePreprocessorMacroName ( bool IsDefinition )

CodeCompleteQualifiedId()

Definition at line 6830 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_Symbol, clang::Sema::computeDeclContext(), clang::NestedNameSpecifier::getAsType(), clang::CXXScopeSpec::getScopeRep(), HandleCodeCompleteResults(), clang::NestedNameSpecifier::isDependent(), clang::CXXScopeSpec::isEmpty(), clang::CXXScopeSpec::isInvalid(), clang::QualType::isNull(), clang::CXXScopeSpec::isValid(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupVisibleDecls(), MaybeAddOverrideCalls(), clang::Sema::RequireCompleteDeclContext(), clang::CodeCompletionContext::setCXXScopeSpecifier(), and clang::CodeCompletionContext::setIsUsingDeclaration().

CodeCompleteTag()

void SemaCodeCompletion::CodeCompleteTag ( Scope * S,
unsigned TagSpec
)

Definition at line 6045 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_ClassOrStructTag, clang::CodeCompletionContext::CCC_EnumTag, clang::CodeCompletionContext::CCC_Other, clang::CodeCompletionContext::CCC_UnionTag, clang::Sema::CurContext, HandleCodeCompleteResults(), clang::Sema::LookupNestedNameSpecifierName, clang::Sema::LookupTagName, clang::Sema::LookupVisibleDecls(), clang::DeclSpec::TST_class, clang::DeclSpec::TST_enum, clang::DeclSpec::TST_interface, clang::DeclSpec::TST_struct, and clang::DeclSpec::TST_union.

CodeCompleteTypeQualifiers()

void SemaCodeCompletion::CodeCompleteTypeQualifiers ( DeclSpec & DS )

CodeCompleteUsing()

void SemaCodeCompletion::CodeCompleteUsing ( Scope * S )

CodeCompleteUsingDirective()

void SemaCodeCompletion::CodeCompleteUsingDirective ( Scope * S )

GatherGlobalCodeCompletions()

ProduceCallSignatureHelp()

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 6359 of file SemaCodeComplete.cpp.

References clang::Sema::AddFunctionCandidates(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddOverloadedCallCandidates(), anyNullArguments(), clang::UnresolvedSetImpl::append(), clang::LookupResult::asUnresolvedSet(), clang::CPlusPlus, clang::OverloadCandidateSet::CSK_Normal, clang::OverloadCandidateSet::empty(), clang::Decl::getAccess(), clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), clang::Type::getPointeeType(), GetPrototypeLoc(), clang::ValueDecl::getType(), clang::Expr::getType(), clang::Sema::isCompleteType(), clang::QualType::isNull(), clang::Expr::isTypeDependent(), Loc, clang::Sema::LookupOrdinaryName, clang::Sema::LookupQualifiedName(), clang::DeclAccessPair::make(), mergeCandidatesWithResults(), P, ProduceSignatureHelp(), clang::LookupResult::suppressDiagnostics(), clang::T, and clang::Sema::TooManyArguments().

ProduceConstructorSignatureHelp()

Definition at line 6539 of file SemaCodeComplete.cpp.

References clang::Sema::AddOverloadCandidate(), clang::Sema::AddTemplateOverloadCandidate(), clang::C, clang::CPlusPlus, clang::OverloadCandidateSet::CSK_Normal, clang::Type::getAsRecordDecl(), getNextAggregateIndexAfterDesignatedInit(), clang::CodeCompleteConsumer::OverloadCandidate::getNumParams(), clang::CXXRecordDecl::isAggregate(), clang::Sema::isCompleteType(), clang::Sema::isInitListConstructor(), clang::TagDecl::isUnion(), Loc, clang::Sema::LookupConstructors(), clang::DeclAccessPair::make(), mergeCandidatesWithResults(), and ProduceSignatureHelp().

ProduceCtorInitMemberSignatureHelp()

ProduceTemplateArgumentSignatureHelp()

CodeCompleter

Resolver


The documentation for this class was generated from the following files: