clang 20.0.0git
|
#include "clang/AST/ASTConcept.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/QualTypeNames.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Type.h"
#include "clang/Basic/AttributeCommonInfo.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/CodeCompleteConsumer.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/Designator.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Overload.h"
#include "clang/Sema/ParsedAttr.h"
#include "clang/Sema/ParsedTemplate.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/ScopeInfo.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaCodeCompletion.h"
#include "clang/Sema/SemaInternal.h"
#include "clang/Sema/SemaObjC.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <list>
#include <map>
#include <optional>
#include <string>
#include <vector>
#include "clang/Basic/OperatorKinds.def"
Go to the source code of this file.
Classes | |
class | ResultBuilder::ShadowMapEntry::iterator |
class | ResultBuilder::ShadowMapEntry::iterator::pointer |
struct | clang::SemaCodeCompletion::CodeCompleteExpressionData |
Macros | |
#define | OVERLOADED_OPERATOR(Name, Spelling, Token, Unary, Binary, MemberOnly) |
#define | OVERLOADED_OPERATOR_MULTI(Name, Spelling, Unary, Binary, MemberOnly) |
#define | OVERLOADED_OPERATOR(Name, Spelling, Token, Unary, Binary, MemberOnly) |
#define | OBJC_AT_KEYWORD_NAME(NeedAt, Keyword) ((NeedAt) ? "@" Keyword : Keyword) |
Macro that optionally prepends an "@" to the string literal passed in via Keyword, depending on whether NeedAt is true or false. | |
Typedefs | |
typedef llvm::SmallPtrSet< const IdentifierInfo *, 16 > | AddedPropertiesSet |
The set of properties that have already been added, referenced by property name. | |
typedef CodeCompleteConsumer::OverloadCandidate | ResultCandidate |
typedef llvm::SmallPtrSet< Selector, 16 > | VisitedSelectorSet |
A set of selectors, which is used to avoid introducing multiple completions with the same selector into the result set. | |
typedef llvm::DenseMap< Selector, llvm::PointerIntPair< ObjCMethodDecl *, 1, bool > > | KnownMethodsMap |
Enumerations | |
enum class | OverloadCompare { BothViable , Dominates , Dominated } |
enum | ObjCMethodKind { MK_Any , MK_ZeroArgSelector , MK_OneArgSelector } |
Describes the kind of Objective-C method that we want to find via code completion. More... | |
Functions | |
static QualType | getDesignatedType (QualType BaseType, const Designation &Desig) |
static QualType | getPreferredTypeOfBinaryRHS (Sema &S, Expr *LHS, tok::TokenKind Op) |
static QualType | getPreferredTypeOfUnaryArg (Sema &S, QualType ContextType, tok::TokenKind Op) |
Get preferred type for an argument of an unary expression. | |
static NestedNameSpecifier * | getRequiredQualification (ASTContext &Context, const DeclContext *CurContext, const DeclContext *TargetContext) |
Compute the qualification required to get from the current context (CurContext ) to the target context (TargetContext ). | |
static bool | shouldIgnoreDueToReservedName (const NamedDecl *ND, Sema &SemaRef) |
static DeclContext::lookup_result | getConstructors (ASTContext &Context, const CXXRecordDecl *Record) |
static bool | isConstructor (const Decl *ND) |
static void | setInBaseClass (ResultBuilder::Result &R) |
static OverloadCompare | compareOverloads (const CXXMethodDecl &Candidate, const CXXMethodDecl &Incumbent, const Qualifiers &ObjectQuals, ExprValueKind ObjectKind) |
static bool | isObjCReceiverType (ASTContext &C, QualType T) |
static void | AddTypeSpecifierResults (const LangOptions &LangOpts, ResultBuilder &Results) |
Add type specifiers for the current language as keyword results. | |
static void | AddStorageSpecifiers (SemaCodeCompletion::ParserCompletionContext CCC, const LangOptions &LangOpts, ResultBuilder &Results) |
static void | AddFunctionSpecifiers (SemaCodeCompletion::ParserCompletionContext CCC, const LangOptions &LangOpts, ResultBuilder &Results) |
static void | AddObjCExpressionResults (ResultBuilder &Results, bool NeedAt) |
static void | AddObjCStatementResults (ResultBuilder &Results, bool NeedAt) |
static void | AddObjCVisibilityResults (const LangOptions &LangOpts, ResultBuilder &Results, bool NeedAt) |
static void | AddObjCImplementationResults (const LangOptions &LangOpts, ResultBuilder &Results, bool NeedAt) |
static void | AddObjCInterfaceResults (const LangOptions &LangOpts, ResultBuilder &Results, bool NeedAt) |
static void | AddObjCTopLevelResults (ResultBuilder &Results, bool NeedAt) |
static void | AddTypedefResult (ResultBuilder &Results) |
static void | AddUsingAliasResult (CodeCompletionBuilder &Builder, ResultBuilder &Results) |
static bool | WantTypesInContext (SemaCodeCompletion::ParserCompletionContext CCC, const LangOptions &LangOpts) |
static PrintingPolicy | getCompletionPrintingPolicy (const ASTContext &Context, const Preprocessor &PP) |
static PrintingPolicy | getCompletionPrintingPolicy (Sema &S) |
Retrieve a printing policy suitable for code completion. | |
static const char * | GetCompletionTypeString (QualType T, ASTContext &Context, const PrintingPolicy &Policy, CodeCompletionAllocator &Allocator) |
Retrieve the string representation of the given type as a string that has the appropriate lifetime for code completion. | |
static void | addThisCompletion (Sema &S, ResultBuilder &Results) |
Add a completion for "this", if we're in a member function. | |
static void | AddStaticAssertResult (CodeCompletionBuilder &Builder, ResultBuilder &Results, const LangOptions &LangOpts) |
static void | AddOverrideResults (ResultBuilder &Results, const CodeCompletionContext &CCContext, CodeCompletionBuilder &Builder) |
static void | AddOrdinaryNameResults (SemaCodeCompletion::ParserCompletionContext CCC, Scope *S, Sema &SemaRef, ResultBuilder &Results) |
Add language constructs that show up for "ordinary" names. | |
static void | AddResultTypeChunk (ASTContext &Context, const PrintingPolicy &Policy, const NamedDecl *ND, QualType BaseType, CodeCompletionBuilder &Result) |
If the given declaration has an associated type, add it as a result type chunk. | |
static void | MaybeAddSentinel (Preprocessor &PP, const NamedDecl *FunctionOrMethod, CodeCompletionBuilder &Result) |
static std::string | formatObjCParamQualifiers (unsigned ObjCQuals, QualType &Type) |
static void | findTypeLocationForBlockDecl (const TypeSourceInfo *TSInfo, FunctionTypeLoc &Block, FunctionProtoTypeLoc &BlockProto, bool SuppressBlock=false) |
Tries to find the most appropriate type location for an Objective-C block placeholder. | |
static std::string | formatBlockPlaceholder (const PrintingPolicy &Policy, const NamedDecl *BlockDecl, FunctionTypeLoc &Block, FunctionProtoTypeLoc &BlockProto, bool SuppressBlockName, bool SuppressBlock, std::optional< ArrayRef< QualType > > ObjCSubsts) |
Returns a placeholder string that corresponds to an Objective-C block declaration. | |
static std::string | FormatFunctionParameter (const PrintingPolicy &Policy, const DeclaratorDecl *Param, bool SuppressName=false, bool SuppressBlock=false, std::optional< ArrayRef< QualType > > ObjCSubsts=std::nullopt) |
static std::string | GetDefaultValueString (const ParmVarDecl *Param, const SourceManager &SM, const LangOptions &LangOpts) |
static void | AddFunctionParameterChunks (Preprocessor &PP, const PrintingPolicy &Policy, const FunctionDecl *Function, CodeCompletionBuilder &Result, unsigned Start=0, bool InOptional=false) |
Add function parameter chunks to the given code completion string. | |
static void | AddTemplateParameterChunks (ASTContext &Context, const PrintingPolicy &Policy, const TemplateDecl *Template, CodeCompletionBuilder &Result, unsigned MaxParameters=0, unsigned Start=0, bool InDefaultArg=false) |
Add template parameter chunks to the given code completion string. | |
static void | AddQualifierToCompletionString (CodeCompletionBuilder &Result, NestedNameSpecifier *Qualifier, bool QualifierIsInformative, ASTContext &Context, const PrintingPolicy &Policy) |
Add a qualifier to the given code-completion string, if the provided nested-name-specifier is non-NULL. | |
static void | AddFunctionTypeQualsToCompletionString (CodeCompletionBuilder &Result, const FunctionDecl *Function) |
static void | AddTypedNameChunk (ASTContext &Context, const PrintingPolicy &Policy, const NamedDecl *ND, CodeCompletionBuilder &Result) |
Add the name of the given declaration. | |
static void | printOverrideString (const CodeCompletionString &CCS, std::string &BeforeName, std::string &NameAndSignature) |
static const NamedDecl * | extractFunctorCallOperator (const NamedDecl *ND) |
static void | AddOverloadAggregateChunks (const RecordDecl *RD, const PrintingPolicy &Policy, CodeCompletionBuilder &Result, unsigned CurrentArg) |
static void | AddOverloadParameterChunks (ASTContext &Context, const PrintingPolicy &Policy, const FunctionDecl *Function, const FunctionProtoType *Prototype, FunctionProtoTypeLoc PrototypeLoc, CodeCompletionBuilder &Result, unsigned CurrentArg, unsigned Start=0, bool InOptional=false) |
Add function overload parameter chunks to the given code completion string. | |
static std::string | formatTemplateParameterPlaceholder (const NamedDecl *Param, bool &Optional, const PrintingPolicy &Policy) |
static std::string | templateResultType (const TemplateDecl *TD, const PrintingPolicy &Policy) |
static CodeCompletionString * | createTemplateSignatureString (const TemplateDecl *TD, CodeCompletionBuilder &Builder, unsigned CurrentArg, const PrintingPolicy &Policy) |
static void | AddMacroResults (Preprocessor &PP, ResultBuilder &Results, bool LoadExternal, bool IncludeUndefined, bool TargetTypeIsPointer=false) |
static void | AddPrettyFunctionResults (const LangOptions &LangOpts, ResultBuilder &Results) |
static void | HandleCodeCompleteResults (Sema *S, CodeCompleteConsumer *CodeCompleter, const CodeCompletionContext &Context, CodeCompletionResult *Results, unsigned NumResults) |
static CodeCompletionContext | mapCodeCompletionContext (Sema &S, SemaCodeCompletion::ParserCompletionContext PCC) |
static void | MaybeAddOverrideCalls (Sema &S, DeclContext *InContext, ResultBuilder &Results) |
If we're in a C++ virtual member function, add completion results that invoke the functions we override, since it's common to invoke the overridden function as well as adding new functionality. | |
static void | AddClassMessageCompletions (Sema &SemaRef, Scope *S, ParsedType Receiver, ArrayRef< const IdentifierInfo * > SelIdents, bool AtArgumentExpression, bool IsSuper, ResultBuilder &Results) |
static const char * | underscoreAttrScope (llvm::StringRef Scope) |
static const char * | noUnderscoreAttrScope (llvm::StringRef Scope) |
static void | AddEnumerators (ResultBuilder &Results, ASTContext &Context, EnumDecl *Enum, DeclContext *CurContext, const CoveredEnumerators &Enumerators) |
static const FunctionProtoType * | TryDeconstructFunctionLike (QualType T) |
Try to find a corresponding FunctionProtoType for function-like types (e.g. | |
static void | AddLambdaCompletion (ResultBuilder &Results, llvm::ArrayRef< QualType > Parameters, const LangOptions &LangOpts) |
Adds a pattern completion for a lambda expression with the specified parameter types and placeholders for parameter names. | |
static ObjCContainerDecl * | getContainerDef (ObjCContainerDecl *Container) |
Retrieve the container definition, if any? | |
static void | AddObjCBlockCall (ASTContext &Context, const PrintingPolicy &Policy, CodeCompletionBuilder &Builder, const NamedDecl *BD, const FunctionTypeLoc &BlockLoc, const FunctionProtoTypeLoc &BlockProtoLoc) |
Adds a block invocation code completion result for the given block declaration BD . | |
static void | AddObjCProperties (const CodeCompletionContext &CCContext, ObjCContainerDecl *Container, bool AllowCategories, bool AllowNullaryMethods, DeclContext *CurContext, AddedPropertiesSet &AddedProperties, ResultBuilder &Results, bool IsBaseExprStatement=false, bool IsClassProperty=false, bool InOriginalClass=true) |
static void | AddRecordMembersCompletionResults (Sema &SemaRef, ResultBuilder &Results, Scope *S, QualType BaseType, ExprValueKind BaseKind, RecordDecl *RD, std::optional< FixItHint > AccessOpFixIt) |
static RecordDecl * | getAsRecordDecl (QualType BaseType) |
static void | AddTypeQualifierResults (DeclSpec &DS, ResultBuilder &Results, const LangOptions &LangOpts) |
static bool | anyNullArguments (ArrayRef< Expr * > Args) |
static void | mergeCandidatesWithResults (Sema &SemaRef, SmallVectorImpl< ResultCandidate > &Results, OverloadCandidateSet &CandidateSet, SourceLocation Loc, size_t ArgSize) |
static QualType | getParamType (Sema &SemaRef, ArrayRef< ResultCandidate > Candidates, unsigned N) |
Get the type of the Nth parameter from a given set of overload candidates. | |
static QualType | ProduceSignatureHelp (Sema &SemaRef, MutableArrayRef< ResultCandidate > Candidates, unsigned CurrentArg, SourceLocation OpenParLoc, bool Braced) |
static FunctionProtoTypeLoc | GetPrototypeLoc (Expr *Fn) |
static std::optional< unsigned > | getNextAggregateIndexAfterDesignatedInit (const ResultCandidate &Aggregate, ArrayRef< Expr * > Args) |
static bool | argMatchesTemplateParams (const ParsedTemplateArgument &Arg, unsigned Index, const TemplateParameterList &Params) |
static bool | isNamespaceScope (Scope *S) |
Determine whether this scope denotes a namespace. | |
static bool | ObjCPropertyFlagConflicts (unsigned Attributes, unsigned NewFlag) |
Determine whether the addition of the given flag to an Objective-C property's attributes will cause a conflict. | |
static bool | isAcceptableObjCSelector (Selector Sel, ObjCMethodKind WantKind, ArrayRef< const IdentifierInfo * > SelIdents, bool AllowSameLength=true) |
static bool | isAcceptableObjCMethod (ObjCMethodDecl *Method, ObjCMethodKind WantKind, ArrayRef< const IdentifierInfo * > SelIdents, bool AllowSameLength=true) |
static void | AddObjCMethods (ObjCContainerDecl *Container, bool WantInstanceMethods, ObjCMethodKind WantKind, ArrayRef< const IdentifierInfo * > SelIdents, DeclContext *CurContext, VisitedSelectorSet &Selectors, bool AllowSameLength, ResultBuilder &Results, bool InOriginalClass=true, bool IsRootClass=false) |
Add all of the Objective-C methods in the given Objective-C container to the set of results. | |
static ObjCInterfaceDecl * | GetAssumedMessageSendExprType (Expr *E) |
When we have an expression with type "id", we may assume that it has some more-specific class type based on knowledge of common uses of Objective-C. | |
static ObjCMethodDecl * | AddSuperSendCompletion (Sema &S, bool NeedSuperKeyword, ArrayRef< const IdentifierInfo * > SelIdents, ResultBuilder &Results) |
static QualType | getPreferredArgumentTypeForMessageSend (ResultBuilder &Results, unsigned NumSelIdents) |
Given a set of code-completion results for the argument of a message send, determine the preferred type (if any) for that argument expression. | |
static void | AddProtocolResults (DeclContext *Ctx, DeclContext *CurContext, bool OnlyForwardDeclarations, ResultBuilder &Results) |
Add all of the protocol declarations that we find in the given (translation unit) context. | |
static void | AddInterfaceResults (DeclContext *Ctx, DeclContext *CurContext, bool OnlyForwardDeclarations, bool OnlyUnimplemented, ResultBuilder &Results) |
Add all of the Objective-C interface declarations that we find in the given (translation unit) context. | |
static void | FindImplementableMethods (ASTContext &Context, ObjCContainerDecl *Container, std::optional< bool > WantInstanceMethods, QualType ReturnType, KnownMethodsMap &KnownMethods, bool InOriginalClass=true) |
Find all of the methods that reside in the given container (and its superclasses, protocols, etc.) that meet the given criteria. | |
static void | AddObjCPassingTypeChunk (QualType Type, unsigned ObjCDeclQuals, ASTContext &Context, const PrintingPolicy &Policy, CodeCompletionBuilder &Builder) |
Add the parenthesized return or parameter type chunk to a code completion string. | |
static bool | InheritsFromClassNamed (ObjCInterfaceDecl *Class, StringRef Name) |
Determine whether the given class is or inherits from a class by the given name. | |
static void | AddObjCKeyValueCompletions (ObjCPropertyDecl *Property, bool IsInstanceMethod, QualType ReturnType, ASTContext &Context, VisitedSelectorSet &KnownSelectors, ResultBuilder &Results) |
Add code completions for Objective-C Key-Value Coding (KVC) and Key-Value Observing (KVO). | |
#define OBJC_AT_KEYWORD_NAME | ( | NeedAt, | |
Keyword | |||
) | ((NeedAt) ? "@" Keyword : Keyword) |
Macro that optionally prepends an "@" to the string literal passed in via Keyword, depending on whether NeedAt is true or false.
Definition at line 7197 of file SemaCodeComplete.cpp.
#define OVERLOADED_OPERATOR | ( | Name, | |
Spelling, | |||
Token, | |||
Unary, | |||
Binary, | |||
MemberOnly | |||
) |
#define OVERLOADED_OPERATOR | ( | Name, | |
Spelling, | |||
Token, | |||
Unary, | |||
Binary, | |||
MemberOnly | |||
) |
#define OVERLOADED_OPERATOR_MULTI | ( | Name, | |
Spelling, | |||
Unary, | |||
Binary, | |||
MemberOnly | |||
) |
typedef llvm::SmallPtrSet<const IdentifierInfo *, 16> AddedPropertiesSet |
The set of properties that have already been added, referenced by property name.
Definition at line 4940 of file SemaCodeComplete.cpp.
typedef llvm::DenseMap<Selector, llvm::PointerIntPair<ObjCMethodDecl *, 1, bool> > KnownMethodsMap |
Definition at line 8919 of file SemaCodeComplete.cpp.
Definition at line 6097 of file SemaCodeComplete.cpp.
typedef llvm::SmallPtrSet<Selector, 16> VisitedSelectorSet |
A set of selectors, which is used to avoid introducing multiple completions with the same selector into the result set.
Definition at line 7619 of file SemaCodeComplete.cpp.
enum ObjCMethodKind |
Describes the kind of Objective-C method that we want to find via code completion.
Enumerator | |
---|---|
MK_Any | Any kind of method, provided it means other specified criteria. |
MK_ZeroArgSelector | Zero-argument (unary) selector. |
MK_OneArgSelector | One-argument selector. |
Definition at line 7577 of file SemaCodeComplete.cpp.
|
strong |
Enumerator | |
---|---|
BothViable | |
Dominates | |
Dominated |
Definition at line 1242 of file SemaCodeComplete.cpp.
|
static |
Definition at line 8193 of file SemaCodeComplete.cpp.
References AddObjCMethods(), AddSuperSendCompletion(), clang::SemaObjC::GlobalMethodPool::begin(), clang::SemaObjC::GlobalMethodPool::count(), clang::Sema::CurContext, clang::SemaObjC::GlobalMethodPool::end(), clang::Type::getAs(), clang::Sema::getCurMethodDecl(), clang::ExternalASTSource::GetExternalSelector(), clang::Sema::getExternalSource(), clang::ObjCMethodList::getMethod(), clang::ExternalASTSource::GetNumExternalSelectors(), clang::Sema::GetTypeFromParser(), clang::Interface, isAcceptableObjCMethod(), clang::Selector::isNull(), clang::SemaObjC::MethodPool, MK_Any, clang::Sema::ObjC(), clang::SemaObjC::ReadMethodPool(), clang::Result, and clang::T.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), and clang::SemaCodeCompletion::CodeCompleteObjCClassMessage().
|
static |
Definition at line 4758 of file SemaCodeComplete.cpp.
References clang::CCP_EnumInCase, E, clang::Enum, clang::ASTContext::getLangOpts(), and getRequiredQualification().
Referenced by clang::SemaCodeCompletion::CodeCompleteCase(), and clang::SemaCodeCompletion::CodeCompleteExpression().
|
static |
Add function parameter chunks to the given code completion string.
Definition at line 3110 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::AddChunk(), AddFunctionParameterChunks(), clang::CodeCompletionString::CK_Comma, FormatFunctionParameter(), clang::Function, GetDefaultValueString(), clang::Preprocessor::getLangOpts(), clang::Preprocessor::getSourceManager(), clang::ParmVarDecl::hasDefaultArg(), MaybeAddSentinel(), P, clang::Result, and clang::CodeCompletionBuilder::TakeString().
Referenced by AddFunctionParameterChunks(), clang::SemaCodeCompletion::CodeCompleteConstructorInitializer(), and clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Definition at line 1895 of file SemaCodeComplete.cpp.
References clang::SemaCodeCompletion::PCC_Class, clang::SemaCodeCompletion::PCC_Condition, clang::SemaCodeCompletion::PCC_Expression, clang::SemaCodeCompletion::PCC_ForInit, clang::SemaCodeCompletion::PCC_LocalDeclarationSpecifiers, clang::SemaCodeCompletion::PCC_MemberTemplate, clang::SemaCodeCompletion::PCC_Namespace, clang::SemaCodeCompletion::PCC_ObjCImplementation, clang::SemaCodeCompletion::PCC_ObjCInstanceVariableList, clang::SemaCodeCompletion::PCC_ObjCInterface, clang::SemaCodeCompletion::PCC_ParenthesizedExpression, clang::SemaCodeCompletion::PCC_RecoveryInFunction, clang::SemaCodeCompletion::PCC_Statement, clang::SemaCodeCompletion::PCC_Template, clang::SemaCodeCompletion::PCC_TopLevelOrExpression, clang::SemaCodeCompletion::PCC_Type, and clang::Result.
Referenced by AddOrdinaryNameResults().
|
static |
Definition at line 3266 of file SemaCodeComplete.cpp.
References clang::Function, and clang::Result.
Referenced by clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Add all of the Objective-C interface declarations that we find in the given (translation unit) context.
Definition at line 8608 of file SemaCodeComplete.cpp.
References clang::Class, D, clang::DeclContext::decls(), and clang::Result.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCClassForwardDecl(), clang::SemaCodeCompletion::CodeCompleteObjCImplementationDecl(), clang::SemaCodeCompletion::CodeCompleteObjCInterfaceDecl(), and clang::SemaCodeCompletion::CodeCompleteObjCSuperclass().
|
static |
Adds a pattern completion for a lambda expression with the specified parameter types and placeholders for parameter names.
Definition at line 4803 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::AddChunk(), clang::CodeCompletionBuilder::AddPlaceholderChunk(), clang::CodeCompletionBuilder::AddTextChunk(), clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_LeftBracket, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightBracket, clang::CodeCompletionString::CK_RightParen, clang::CodeCompletionAllocator::CopyString(), clang::First, clang::CodeCompletionBuilder::getAllocator(), clang::Parameter, and clang::CodeCompletionBuilder::TakeString().
Referenced by clang::SemaCodeCompletion::CodeCompleteExpression().
|
static |
Definition at line 4195 of file SemaCodeComplete.cpp.
References clang::Preprocessor::getLangOpts(), clang::Preprocessor::getMacroDefinition(), clang::getMacroUsagePriority(), clang::MacroInfo::isUsedForHeaderGuard(), clang::Preprocessor::macro_begin(), clang::Preprocessor::macro_end(), and clang::Result.
Referenced by clang::SemaCodeCompletion::CodeCompleteAfterIf(), clang::SemaCodeCompletion::CodeCompleteCase(), clang::SemaCodeCompletion::CodeCompleteExpression(), clang::SemaCodeCompletion::CodeCompleteObjCMessageReceiver(), clang::SemaCodeCompletion::CodeCompleteObjCPassingType(), clang::SemaCodeCompletion::CodeCompleteOrdinaryName(), clang::SemaCodeCompletion::CodeCompletePreprocessorExpression(), and clang::SemaCodeCompletion::GatherGlobalCodeCompletions().
|
static |
Adds a block invocation code completion result for the given block declaration BD
.
Definition at line 4962 of file SemaCodeComplete.cpp.
References AddTypedNameChunk(), clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, FormatFunctionParameter(), GetCompletionTypeString(), clang::FunctionTypeLoc::getNumParams(), clang::FunctionTypeLoc::getParam(), clang::FunctionTypeLoc::getReturnLoc(), clang::TypeLoc::getType(), clang::InheritingConcreteTypeLoc< Base, Derived, TypeClass >::getTypePtr(), and clang::FunctionProtoType::isVariadic().
Referenced by AddObjCProperties().
|
static |
Definition at line 7309 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_Colon, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightBracket, clang::CodeCompletionString::CK_RightParen, OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), clang::SemaCodeCompletion::CodeCompleteObjCAtExpression(), and clang::SemaCodeCompletion::CodeCompleteObjCAtStatement().
|
static |
Definition at line 7199 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_HorizontalSpace, OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteObjCAtDirective().
|
static |
Definition at line 7222 of file SemaCodeComplete.cpp.
References OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteObjCAtDirective().
|
static |
Add code completions for Objective-C Key-Value Coding (KVC) and Key-Value Observing (KVO).
Definition at line 9038 of file SemaCodeComplete.cpp.
References AddObjCPassingTypeChunk(), clang::Type::castAs(), clang::CCD_ProbablyNotObjCCollection, clang::CCP_CodePattern, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, CXCursor_ObjCClassMethodDecl, CXCursor_ObjCInstanceMethodDecl, clang::IdentifierTable::get(), getCompletionPrintingPolicy(), GetCompletionTypeString(), clang::ObjCObjectPointerType::getInterfaceDecl(), clang::IdentifierInfo::getLength(), clang::NamedDecl::getName(), clang::IdentifierInfo::getName(), clang::QualType::getNonReferenceType(), clang::SelectorTable::getNullarySelector(), clang::SelectorTable::getSelector(), clang::SelectorTable::getUnarySelector(), clang::ASTContext::hasSameUnqualifiedType(), clang::ASTContext::Idents, InheritsFromClassNamed(), clang::Type::isBooleanType(), clang::Type::isIntegerType(), clang::QualType::isNull(), clang::Type::isObjCObjectPointerType(), clang::Type::isVoidType(), clang::Property, clang::Result, clang::ASTContext::Selectors, and clang::toUppercase().
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl().
|
static |
Add all of the Objective-C methods in the given Objective-C container to the set of results.
The container will be a class, protocol, category, or implementation of any of the above. This mether will recurse to include methods from the superclasses of classes along with their categories, protocols, and implementations.
Container | the container in which we'll look to find methods. |
WantInstanceMethods | Whether to add instance methods (only); if false, this routine will add factory methods (only). |
CurContext | the context in which we're performing the lookup that finds methods. |
AllowSameLength | Whether we allow a method to be added to the list when it has the same number of parameters as we have selector identifiers. |
Results | the structure into which we'll add results. |
Definition at line 7641 of file SemaCodeComplete.cpp.
References AddObjCMethods(), clang::ObjCList< T >::begin(), E, clang::ObjCList< T >::end(), getContainerDef(), clang::ObjCInterfaceDecl::getImplementation(), clang::ObjCInterfaceDecl::getSuperClass(), clang::ObjCInterfaceDecl::hasDefinition(), isAcceptableObjCMethod(), clang::ObjCInterfaceDecl::known_categories(), MK_Any, clang::ObjCInterfaceDecl::protocols(), clang::Result, and setInBaseClass().
Referenced by AddClassMessageCompletions(), AddObjCMethods(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyGetter(), and clang::SemaCodeCompletion::CodeCompleteObjCPropertySetter().
|
static |
Add the parenthesized return or parameter type chunk to a code completion string.
Definition at line 9011 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, formatObjCParamQualifiers(), and GetCompletionTypeString().
Referenced by AddObjCKeyValueCompletions(), and clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl().
|
static |
Definition at line 4999 of file SemaCodeComplete.cpp.
References AddObjCBlockCall(), AddObjCProperties(), AddResultTypeChunk(), Category, clang::CCD_BlockPropertySetter, clang::CCD_MethodAsProperty, clang::CCP_MemberDeclaration, clang::CodeCompletionString::CK_Equal, findTypeLocationForBlockDecl(), formatBlockPlaceholder(), clang::CodeCompletionContext::getBaseType(), getCompletionPrintingPolicy(), getContainerDef(), clang::FunctionType::getReturnType(), clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::getTypePtr(), clang::Type::isVoidType(), P, clang::Result, and setInBaseClass().
Referenced by AddObjCProperties(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), clang::SemaCodeCompletion::CodeCompleteObjCClassPropertyRefExpr(), and clang::SemaCodeCompletion::CodeCompleteObjCPropertyDefinition().
|
static |
Definition at line 7374 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightParen, OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteObjCAtStatement().
|
static |
Definition at line 7241 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_HorizontalSpace, OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteObjCAtDirective().
|
static |
Definition at line 7420 of file SemaCodeComplete.cpp.
References OBJC_AT_KEYWORD_NAME, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteObjCAtVisibility().
|
static |
Add language constructs that show up for "ordinary" names.
while (condition) { statements }
Definition at line 2135 of file SemaCodeComplete.cpp.
References AddFunctionSpecifiers(), AddObjCExpressionResults(), AddObjCImplementationResults(), AddObjCInterfaceResults(), AddObjCStatementResults(), AddObjCTopLevelResults(), AddObjCVisibilityResults(), AddOverrideResults(), AddStaticAssertResult(), AddStorageSpecifiers(), addThisCompletion(), AddTypedefResult(), AddTypeSpecifierResults(), AddUsingAliasResult(), clang::CodeCompletionContext::CCC_ClassStructUnion, clang::CodeCompletionString::CK_Colon, clang::CodeCompletionString::CK_Equal, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftAngle, clang::CodeCompletionString::CK_LeftBrace, clang::CodeCompletionString::CK_LeftBracket, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightAngle, clang::CodeCompletionString::CK_RightBrace, clang::CodeCompletionString::CK_RightBracket, clang::CodeCompletionString::CK_RightParen, clang::CodeCompletionString::CK_SemiColon, clang::CodeCompletionString::CK_VerticalSpace, clang::Sema::CurContext, clang::Function, clang::Sema::getCurBlock(), clang::Sema::getCurFunction(), clang::Sema::getCurMethodDecl(), clang::Sema::getLangOpts(), clang::FunctionDecl::getReturnType(), clang::Type::isBooleanType(), clang::DeclContext::isDependentContext(), clang::Preprocessor::isMacroDefined(), clang::Type::isMemberPointerType(), clang::QualType::isNull(), clang::Type::isPointerType(), clang::Type::isVoidType(), clang::SemaCodeCompletion::PCC_Class, clang::SemaCodeCompletion::PCC_Condition, clang::SemaCodeCompletion::PCC_Expression, clang::SemaCodeCompletion::PCC_ForInit, clang::SemaCodeCompletion::PCC_LocalDeclarationSpecifiers, clang::SemaCodeCompletion::PCC_MemberTemplate, clang::SemaCodeCompletion::PCC_Namespace, clang::SemaCodeCompletion::PCC_ObjCImplementation, clang::SemaCodeCompletion::PCC_ObjCInstanceVariableList, clang::SemaCodeCompletion::PCC_ObjCInterface, clang::SemaCodeCompletion::PCC_ParenthesizedExpression, clang::SemaCodeCompletion::PCC_RecoveryInFunction, clang::SemaCodeCompletion::PCC_Statement, clang::SemaCodeCompletion::PCC_Template, clang::SemaCodeCompletion::PCC_TopLevelOrExpression, clang::SemaCodeCompletion::PCC_Type, clang::Sema::PP, clang::Result, clang::sema::CapturingScopeInfo::ReturnType, clang::CodeCompletionResult::RK_Keyword, clang::sema::FunctionScopeInfo::SwitchStack, and WantTypesInContext().
Referenced by clang::SemaCodeCompletion::CodeCompleteAfterIf(), clang::SemaCodeCompletion::CodeCompleteExpression(), clang::SemaCodeCompletion::CodeCompleteObjCPassingType(), and clang::SemaCodeCompletion::CodeCompleteOrdinaryName().
|
static |
Definition at line 3817 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_Comma, clang::Copy, clang::RecordDecl::fields(), FormatFunctionParameter(), and clang::Result.
Referenced by clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString().
|
static |
Add function overload parameter chunks to the given code completion string.
Definition at line 3844 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::AddChunk(), clang::CodeCompletionBuilder::AddCurrentParameterChunk(), AddOverloadParameterChunks(), clang::CodeCompletionBuilder::AddPlaceholderChunk(), clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_CurrentParameter, FormatFunctionParameter(), clang::Function, GetDefaultValueString(), clang::ASTContext::getLangOpts(), clang::FunctionTypeLoc::getParam(), clang::ASTContext::getSourceManager(), clang::ParmVarDecl::hasDefaultArg(), P, clang::Prototype, clang::Result, and clang::CodeCompletionBuilder::TakeString().
Referenced by AddOverloadParameterChunks(), and clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString().
|
static |
Definition at line 2081 of file SemaCodeComplete.cpp.
References clang::CCP_CodePattern, clang::CodeCompletionResult::createCodeCompletionStringForOverride(), clang::Sema::CurContext, clang::Sema::getASTContext(), getCompletionPrintingPolicy(), clang::NamedDecl::getIdentifier(), clang::NamedDecl::getName(), clang::Sema::getPreprocessor(), clang::Sema::IsOverload(), and clang::CXXMethodDecl::isVirtual().
Referenced by AddOrdinaryNameResults().
|
static |
Definition at line 4221 of file SemaCodeComplete.cpp.
References clang::CCP_Constant, and clang::Result.
Referenced by clang::SemaCodeCompletion::CodeCompleteAfterIf(), clang::SemaCodeCompletion::CodeCompleteExpression(), and clang::SemaCodeCompletion::CodeCompleteOrdinaryName().
|
static |
Add all of the protocol declarations that we find in the given (translation unit) context.
Definition at line 8542 of file SemaCodeComplete.cpp.
References D, clang::DeclContext::decls(), and clang::Result.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCProtocolDecl(), and clang::SemaCodeCompletion::CodeCompleteObjCProtocolReferences().
|
static |
Add a qualifier to the given code-completion string, if the provided nested-name-specifier is non-NULL.
Definition at line 3246 of file SemaCodeComplete.cpp.
References clang::Result.
Referenced by clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Definition at line 5180 of file SemaCodeComplete.cpp.
References clang::SemaCodeCompletion::CodeCompleter, clang::Sema::CodeCompletion(), clang::Sema::getLangOpts(), clang::QualType::getQualifiers(), clang::CodeCompleteConsumer::includeGlobals(), clang::DeclContext::isDependentContext(), clang::Type::isDependentType(), clang::CodeCompleteConsumer::loadExternal(), clang::Sema::LookupMemberName, and clang::Sema::LookupVisibleDecls().
Referenced by clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr().
|
static |
If the given declaration has an associated type, add it as a result type chunk.
Definition at line 2776 of file SemaCodeComplete.cpp.
References clang::ASTContext::DependentTy, clang::Function, clang::Decl::getAsFunction(), GetCompletionTypeString(), clang::TypeName::getFullyQualifiedType(), clang::FunctionDecl::getReturnType(), clang::Value::getType(), clang::ASTContext::getTypeDeclType(), clang::ASTContext::hasSameType(), isConstructor(), clang::QualType::isNull(), clang::Property, clang::Result, and clang::T.
Referenced by AddObjCProperties(), AddSuperSendCompletion(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), and clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString().
|
static |
Definition at line 2065 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, and clang::CodeCompletionString::CK_SemiColon.
Referenced by AddOrdinaryNameResults().
|
static |
Definition at line 1869 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, and clang::Result.
Referenced by AddOrdinaryNameResults().
|
static |
S | The semantic analysis object. |
NeedSuperKeyword | Whether we need to prefix this completion with the "super" keyword. Otherwise, we just need to provide the arguments. |
SelIdents | The identifiers in the selector that have already been provided as arguments for a send to "super". |
Results | The set of results to augment. |
Definition at line 7956 of file SemaCodeComplete.cpp.
References AddResultTypeChunk(), clang::CCP_SuperCompletion, clang::CodeCompletionString::CK_HorizontalSpace, clang::Class, clang::Sema::Context, clang::ObjCMethodDecl::getClassInterface(), getCompletionPrintingPolicy(), clang::Sema::getCurMethodDecl(), clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), clang::ObjCMethodDecl::getSelector(), clang::ASTContext::hasSameUnqualifiedType(), clang::ObjCMethodDecl::isInstanceMethod(), clang::Selector::isUnarySelector(), clang::ObjCMethodDecl::isVariadic(), clang::ObjCMethodDecl::param_begin(), clang::ObjCMethodDecl::param_end(), and clang::ObjCMethodDecl::param_size().
Referenced by AddClassMessageCompletions(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), and clang::SemaCodeCompletion::CodeCompleteObjCMessageReceiver().
|
static |
Add template parameter chunks to the given code completion string.
Definition at line 3164 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::AddChunk(), AddTemplateParameterChunks(), clang::TemplateParameterList::begin(), clang::CodeCompletionString::CK_Comma, clang::IdentifierInfo::deuglifiedName(), clang::TemplateParameterList::end(), clang::Decl::getCanonicalDecl(), clang::NamedDecl::getIdentifier(), clang::TemplateDecl::getTemplateParameters(), clang::TemplateTemplateParmDecl::hasDefaultArgument(), P, clang::Result, and clang::CodeCompletionBuilder::TakeString().
Referenced by AddTemplateParameterChunks(), AddTypedNameChunk(), and clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Add a completion for "this", if we're in a member function.
Definition at line 2051 of file SemaCodeComplete.cpp.
References clang::Sema::Context, getCompletionPrintingPolicy(), GetCompletionTypeString(), clang::Sema::getCurrentThisType(), and clang::QualType::isNull().
Referenced by AddOrdinaryNameResults(), clang::SemaCodeCompletion::CodeCompleteLambdaIntroducer(), and clang::SemaCodeCompletion::CodeCompleteObjCMessageReceiver().
|
static |
Definition at line 1941 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_HorizontalSpace, and clang::CodeCompletionString::CK_SemiColon.
Referenced by AddOrdinaryNameResults().
|
static |
Add the name of the given declaration.
Definition at line 3302 of file SemaCodeComplete.cpp.
References AddTemplateParameterChunks(), clang::CodeCompletionString::CK_LeftAngle, clang::CodeCompletionString::CK_RightAngle, clang::DeclarationName::CXXConstructorName, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXDeductionGuideName, clang::DeclarationName::CXXDestructorName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::DeclarationName::CXXUsingDirective, clang::Type::getAs(), clang::NamedDecl::getDeclName(), clang::NamedDecl::getNameAsString(), clang::DeclarationName::Identifier, clang::NUM_OVERLOADED_OPERATORS, clang::DeclarationName::ObjCMultiArgSelector, clang::DeclarationName::ObjCOneArgSelector, clang::DeclarationName::ObjCZeroArgSelector, clang::OO_None, and clang::Result.
Referenced by AddObjCBlockCall(), and clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Definition at line 5957 of file SemaCodeComplete.cpp.
References clang::DeclSpec::getTypeQualifiers(), clang::DeclSpec::TQ_atomic, clang::DeclSpec::TQ_const, clang::DeclSpec::TQ_restrict, clang::DeclSpec::TQ_unaligned, and clang::DeclSpec::TQ_volatile.
Referenced by clang::SemaCodeCompletion::CodeCompleteFunctionQualifiers(), and clang::SemaCodeCompletion::CodeCompleteTypeQualifiers().
|
static |
Add type specifiers for the current language as keyword results.
Definition at line 1787 of file SemaCodeComplete.cpp.
References clang::CCD_bool_in_ObjC, clang::CCP_Type, clang::CodeCompletionString::CK_HorizontalSpace, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, and clang::Result.
Referenced by AddOrdinaryNameResults(), and clang::SemaCodeCompletion::CodeCompleteOperatorName().
|
static |
Definition at line 1954 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_Equal, clang::CodeCompletionString::CK_HorizontalSpace, and clang::CodeCompletionString::CK_SemiColon.
Referenced by AddOrdinaryNameResults().
Definition at line 6086 of file SemaCodeComplete.cpp.
Referenced by clang::SemaCodeCompletion::ProduceCallSignatureHelp().
|
static |
Definition at line 6496 of file SemaCodeComplete.cpp.
References clang::TemplateParameterList::asArray(), clang::ParsedTemplateArgument::getKind(), clang::TemplateParameterList::getParam(), clang::TemplateParameterList::hasParameterPack(), clang::ParsedTemplateArgument::NonType, clang::TemplateParameterList::size(), clang::ParsedTemplateArgument::Template, and clang::ParsedTemplateArgument::Type.
Referenced by clang::SemaCodeCompletion::ProduceTemplateArgumentSignatureHelp().
|
static |
Definition at line 1247 of file SemaCodeComplete.cpp.
References clang::Qualifiers::compatiblyIncludes(), E, clang::Decl::getDeclContext(), clang::CXXMethodDecl::getMethodQualifiers(), clang::FunctionDecl::getMinRequiredArguments(), clang::FunctionDecl::getNumParams(), clang::CXXMethodDecl::getRefQualifier(), clang::FunctionDecl::isVariadic(), clang::FunctionDecl::parameters(), clang::RQ_RValue, clang::Decl::specific_attrs(), and clang::VK_XValue.
|
static |
Definition at line 3950 of file SemaCodeComplete.cpp.
References clang::TemplateParameterList::asArray(), clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_CurrentParameter, clang::CodeCompletionString::CK_LeftAngle, clang::CodeCompletionString::CK_Placeholder, clang::CodeCompletionString::CK_RightAngle, formatTemplateParameterPlaceholder(), clang::NamedDecl::getNameAsString(), clang::TemplateDecl::getTemplateParameters(), clang::Optional, clang::CodeCompletionBuilder::TakeString(), and templateResultType().
Referenced by clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString().
Definition at line 3526 of file SemaCodeComplete.cpp.
References clang::RecordDecl::isLambda().
Referenced by clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Find all of the methods that reside in the given container (and its superclasses, protocols, etc.) that meet the given criteria.
Insert those methods into the map of known methods, indexed by selector so they can be easily found.
Definition at line 8925 of file SemaCodeComplete.cpp.
References clang::ObjCList< T >::begin(), Category, E, clang::ObjCList< T >::end(), FindImplementableMethods(), clang::ASTContext::hasSameUnqualifiedType(), and clang::QualType::isNull().
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl(), and FindImplementableMethods().
|
static |
Tries to find the most appropriate type location for an Objective-C block placeholder.
This function ignores things like typedefs and qualifiers in order to present the most relevant and accurate block placeholders in code completion results.
Definition at line 2882 of file SemaCodeComplete.cpp.
References clang::Block, clang::TypeLoc::getAs(), clang::TypeLoc::getAsAdjusted(), clang::TypeSourceInfo::getTypeLoc(), clang::TypeLoc::getUnqualifiedLoc(), and clang::TypeLoc::IgnoreParens().
Referenced by AddObjCProperties(), and FormatFunctionParameter().
|
static |
Returns a placeholder string that corresponds to an Objective-C block declaration.
BlockDecl | A declaration with an Objective-C block type. |
Block | The most relevant type location for that block type. |
SuppressBlockName | Determines whether or not the name of the block declaration is included in the resulting string. |
Definition at line 3024 of file SemaCodeComplete.cpp.
References clang::Block, FormatFunctionParameter(), clang::QualType::getAsStringInternal(), clang::Decl::getASTContext(), clang::InheritingConcreteTypeLoc< Base, Derived, TypeClass >::getTypePtr(), clang::FunctionProtoType::isVariadic(), clang::Type::isVoidType(), clang::Result, and clang::QualType::substObjCTypeArgs().
Referenced by AddObjCProperties(), and FormatFunctionParameter().
|
static |
Definition at line 2929 of file SemaCodeComplete.cpp.
References clang::Block, clang::IdentifierInfo::deuglifiedName(), findTypeLocationForBlockDecl(), formatBlockPlaceholder(), formatObjCParamQualifiers(), clang::Decl::getASTContext(), clang::Decl::getDeclContext(), clang::NamedDecl::getIdentifier(), clang::ValueDecl::getType(), clang::DeclaratorDecl::getTypeSourceInfo(), clang::QualType::getUnqualifiedType(), clang::Type::isBlockPointerType(), clang::Type::isDependentType(), clang::Decl::OBJC_TQ_None, clang::Parameter, and clang::Result.
Referenced by AddFunctionParameterChunks(), AddObjCBlockCall(), AddOverloadAggregateChunks(), AddOverloadParameterChunks(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), and formatBlockPlaceholder().
Definition at line 2837 of file SemaCodeComplete.cpp.
References clang::NonNull, clang::Nullable, clang::NullableResult, clang::Decl::OBJC_TQ_Bycopy, clang::Decl::OBJC_TQ_Byref, clang::Decl::OBJC_TQ_CSNullability, clang::Decl::OBJC_TQ_In, clang::Decl::OBJC_TQ_Inout, clang::Decl::OBJC_TQ_Oneway, clang::Decl::OBJC_TQ_Out, clang::Result, clang::AttributedType::stripOuterNullability(), and clang::Unspecified.
Referenced by AddObjCPassingTypeChunk(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), and FormatFunctionParameter().
|
static |
Definition at line 3918 of file SemaCodeComplete.cpp.
References clang::Optional, clang::Decl::print(), and clang::Result.
Referenced by createTemplateSignatureString().
|
static |
Definition at line 5223 of file SemaCodeComplete.cpp.
References clang::Type::getAs(), clang::Type::getAsRecordDecl(), clang::QualType::getNonReferenceType(), and clang::TSK_Undeclared.
Referenced by clang::SemaCodeCompletion::CodeCompleteDesignator(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), getDesignatedType(), clang::QualType::hasNonTrivialToPrimitiveCopyCUnion(), clang::QualType::hasNonTrivialToPrimitiveDefaultInitializeCUnion(), clang::QualType::hasNonTrivialToPrimitiveDestructCUnion(), and clang::CXXRecordDecl::isDerivedFrom().
|
static |
When we have an expression with type "id", we may assume that it has some more-specific class type based on knowledge of common uses of Objective-C.
This routine returns that class type, or NULL if no better result could be determined.
Definition at line 7872 of file SemaCodeComplete.cpp.
References clang::ObjCMessageExpr::Class, E, clang::Type::getAs(), clang::Selector::getIdentifierInfoForSlot(), clang::ObjCInterfaceDecl::getSuperClass(), Id, clang::ObjCMessageExpr::Instance, clang::ObjCMethodDecl::isInstanceMethod(), clang::Selector::isNull(), clang::ObjCMessageExpr::SuperClass, clang::ObjCMessageExpr::SuperInstance, and clang::T.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage().
|
static |
Definition at line 1996 of file SemaCodeComplete.cpp.
References clang::PrintingPolicy::AnonymousTagLocations, clang::PrintingPolicy::CleanUglifiedParameters, clang::Sema::getPrintingPolicy(), clang::PrintingPolicy::SuppressScope, clang::PrintingPolicy::SuppressStrongLifetime, and clang::PrintingPolicy::SuppressUnwrittenScope.
Referenced by AddObjCKeyValueCompletions(), AddObjCProperties(), AddOverrideResults(), AddSuperSendCompletion(), addThisCompletion(), clang::SemaCodeCompletion::CodeCompleteConstructorInitializer(), clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl(), clang::SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar(), clang::CodeCompletionResult::CreateCodeCompletionString(), clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), getCompletionPrintingPolicy(), and MaybeAddOverrideCalls().
|
static |
Retrieve a printing policy suitable for code completion.
Definition at line 2008 of file SemaCodeComplete.cpp.
References clang::Sema::Context, getCompletionPrintingPolicy(), and clang::Sema::PP.
|
static |
Retrieve the string representation of the given type as a string that has the appropriate lifetime for code completion.
This routine provides a fast path where we provide constant strings for common type names.
Definition at line 2017 of file SemaCodeComplete.cpp.
References clang::Class, clang::Enum, clang::Interface, clang::Result, clang::Struct, clang::T, and clang::Union.
Referenced by AddObjCBlockCall(), AddObjCKeyValueCompletions(), AddObjCPassingTypeChunk(), AddResultTypeChunk(), addThisCompletion(), and clang::SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar().
|
static |
Definition at line 1071 of file SemaCodeComplete.cpp.
References clang::ASTContext::DeclarationNames, clang::ASTContext::getCanonicalType(), clang::DeclarationNameTable::getCXXConstructorName(), and clang::ASTContext::getTypeDeclType().
Referenced by clang::SemaCodeCompletion::CodeCompleteConstructorInitializer().
|
static |
Retrieve the container definition, if any?
Definition at line 4943 of file SemaCodeComplete.cpp.
References clang::Interface.
Referenced by AddObjCMethods(), AddObjCProperties(), and clang::SemaCodeCompletion::CodeCompleteObjCPropertyDefinition().
|
static |
Definition at line 3078 of file SemaCodeComplete.cpp.
References clang::ParmVarDecl::getDefaultArgRange(), clang::Lexer::getSourceText(), clang::CharSourceRange::getTokenRange(), clang::Invalid, clang::CharSourceRange::isInvalid(), and SM.
Referenced by AddFunctionParameterChunks(), and AddOverloadParameterChunks().
|
static |
Definition at line 6550 of file SemaCodeComplete.cpp.
References D, clang::Type::getAsArrayTypeUnsafe(), getAsRecordDecl(), clang::Designation::getDesignator(), clang::ArrayType::getElementType(), clang::Designation::getNumDesignators(), clang::Type::isArrayType(), clang::QualType::isNull(), and clang::Member.
Referenced by clang::SemaCodeCompletion::CodeCompleteDesignator(), and clang::PreferredTypeBuilder::enterDesignatedInitializer().
|
static |
Definition at line 6349 of file SemaCodeComplete.cpp.
References clang::Aggregate, clang::CodeCompleteConsumer::OverloadCandidate::CK_Aggregate, and clang::Invalid.
Referenced by clang::SemaCodeCompletion::ProduceConstructorSignatureHelp().
|
static |
Get the type of the Nth parameter from a given set of overload candidates.
Definition at line 6132 of file SemaCodeComplete.cpp.
References clang::Sema::Context, clang::QualType::getNonReferenceType(), clang::ASTContext::hasSameUnqualifiedType(), and clang::QualType::isNull().
Referenced by clang::CanProxyAdaptor< FunctionProtoType >::LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(), and ProduceSignatureHelp().
|
static |
Given a set of code-completion results for the argument of a message send, determine the preferred type (if any) for that argument expression.
Definition at line 8160 of file SemaCodeComplete.cpp.
References clang::CCP_Unlikely, clang::ASTContext::hasSameUnqualifiedType(), clang::QualType::isNull(), clang::ObjCMethodDecl::parameters(), and clang::Result.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCClassMessage(), and clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage().
|
static |
Definition at line 471 of file SemaCodeComplete.cpp.
References clang::ASTContext::BoolTy, clang::Sema::getASTContext(), clang::ASTContext::getPointerDiffType(), clang::Expr::getType(), clang::ASTContext::IntTy, clang::Type::isIntegralOrEnumerationType(), and clang::Type::isPointerType().
Referenced by clang::PreferredTypeBuilder::enterBinary().
|
static |
Get preferred type for an argument of an unary expression.
ContextType
is preferred type of the whole unary expression.
Definition at line 550 of file SemaCodeComplete.cpp.
References clang::ASTContext::BoolTy, ContextType, clang::Sema::getASTContext(), clang::ASTContext::getPointerType(), and clang::ASTContext::IntTy.
Referenced by clang::PreferredTypeBuilder::enterUnary().
|
static |
Definition at line 6173 of file SemaCodeComplete.cpp.
References D, P, clang::T, and clang::Target.
Referenced by clang::SemaCodeCompletion::ProduceCallSignatureHelp().
|
static |
Compute the qualification required to get from the current context (CurContext
) to the target context (TargetContext
).
Context | the AST context in which the qualification will be used. |
CurContext | the context where an entity is being named, which is typically based on the current scope. |
TargetContext | the context in which the named entity actually resides. |
Definition at line 736 of file SemaCodeComplete.cpp.
References clang::NestedNameSpecifier::Create(), clang::DeclContext::Encloses(), clang::ASTContext::getTypeDeclType(), clang::QualType::getTypePtr(), Parent, and clang::Result.
Referenced by AddEnumerators(), and MaybeAddOverrideCalls().
|
static |
Definition at line 4234 of file SemaCodeComplete.cpp.
References clang::CodeCompleteConsumer::ProcessCodeCompleteResults().
Referenced by clang::SemaCodeCompletion::CodeCompleteAfterFunctionEquals(), clang::SemaCodeCompletion::CodeCompleteAfterIf(), clang::SemaCodeCompletion::CodeCompleteAttribute(), clang::SemaCodeCompletion::CodeCompleteAvailabilityPlatformName(), clang::SemaCodeCompletion::CodeCompleteCase(), clang::SemaCodeCompletion::CodeCompleteConstructorInitializer(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::SemaCodeCompletion::CodeCompleteDesignator(), clang::SemaCodeCompletion::CodeCompleteExpression(), clang::SemaCodeCompletion::CodeCompleteFunctionQualifiers(), clang::SemaCodeCompletion::CodeCompleteIncludedFile(), clang::SemaCodeCompletion::CodeCompleteLambdaIntroducer(), clang::SemaCodeCompletion::CodeCompleteMemberReferenceExpr(), clang::SemaCodeCompletion::CodeCompleteModuleImport(), clang::SemaCodeCompletion::CodeCompleteNamespaceAliasDecl(), clang::SemaCodeCompletion::CodeCompleteNamespaceDecl(), clang::SemaCodeCompletion::CodeCompleteNaturalLanguage(), clang::SemaCodeCompletion::CodeCompleteObjCAtDirective(), clang::SemaCodeCompletion::CodeCompleteObjCAtExpression(), clang::SemaCodeCompletion::CodeCompleteObjCAtStatement(), clang::SemaCodeCompletion::CodeCompleteObjCAtVisibility(), clang::SemaCodeCompletion::CodeCompleteObjCClassForwardDecl(), clang::SemaCodeCompletion::CodeCompleteObjCClassMessage(), clang::SemaCodeCompletion::CodeCompleteObjCClassPropertyRefExpr(), clang::SemaCodeCompletion::CodeCompleteObjCImplementationCategory(), clang::SemaCodeCompletion::CodeCompleteObjCImplementationDecl(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), clang::SemaCodeCompletion::CodeCompleteObjCInterfaceCategory(), clang::SemaCodeCompletion::CodeCompleteObjCInterfaceDecl(), clang::SemaCodeCompletion::CodeCompleteObjCMessageReceiver(), clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl(), clang::SemaCodeCompletion::CodeCompleteObjCMethodDeclSelector(), clang::SemaCodeCompletion::CodeCompleteObjCPassingType(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyDefinition(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyFlags(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyGetter(), clang::SemaCodeCompletion::CodeCompleteObjCPropertySetter(), clang::SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar(), clang::SemaCodeCompletion::CodeCompleteObjCProtocolDecl(), clang::SemaCodeCompletion::CodeCompleteObjCProtocolReferences(), clang::SemaCodeCompletion::CodeCompleteObjCSelector(), clang::SemaCodeCompletion::CodeCompleteObjCSuperclass(), clang::SemaCodeCompletion::CodeCompleteOperatorName(), clang::SemaCodeCompletion::CodeCompleteOrdinaryName(), clang::SemaCodeCompletion::CodeCompletePreprocessorDirective(), clang::SemaCodeCompletion::CodeCompletePreprocessorExpression(), clang::SemaCodeCompletion::CodeCompletePreprocessorMacroName(), clang::SemaCodeCompletion::CodeCompleteQualifiedId(), clang::SemaCodeCompletion::CodeCompleteTag(), clang::SemaCodeCompletion::CodeCompleteTypeQualifiers(), clang::SemaCodeCompletion::CodeCompleteUsing(), and clang::SemaCodeCompletion::CodeCompleteUsingDirective().
|
static |
Determine whether the given class is or inherits from a class by the given name.
Definition at line 9026 of file SemaCodeComplete.cpp.
References clang::Class, and InheritsFromClassNamed().
Referenced by AddObjCKeyValueCompletions(), and InheritsFromClassNamed().
|
static |
Definition at line 7609 of file SemaCodeComplete.cpp.
References clang::ObjCMethodDecl::getSelector(), and isAcceptableObjCSelector().
Referenced by AddClassMessageCompletions(), AddObjCMethods(), clang::SemaCodeCompletion::CodeCompleteObjCInstanceMessage(), and clang::SemaCodeCompletion::CodeCompleteObjCMethodDeclSelector().
|
static |
Definition at line 7583 of file SemaCodeComplete.cpp.
References clang::Selector::getIdentifierInfoForSlot(), clang::Selector::getNumArgs(), clang::Selector::isUnarySelector(), MK_Any, MK_OneArgSelector, and MK_ZeroArgSelector.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCSelector(), and isAcceptableObjCMethod().
Definition at line 1109 of file SemaCodeComplete.cpp.
Referenced by AddResultTypeChunk().
Determine whether this scope denotes a namespace.
Definition at line 7095 of file SemaCodeComplete.cpp.
References clang::DeclContext::isFileContext().
Referenced by clang::SemaCodeCompletion::CodeCompleteLambdaIntroducer().
|
static |
Definition at line 1631 of file SemaCodeComplete.cpp.
References clang::C, getKind(), clang::Type::getTypeClass(), clang::Type::isDependentType(), clang::Type::isRecordType(), and clang::T.
|
static |
Definition at line 4244 of file SemaCodeComplete.cpp.
References clang::ASTContext::BoolTy, clang::CodeCompletionContext::CCC_ClassStructUnion, clang::CodeCompletionContext::CCC_Expression, clang::CodeCompletionContext::CCC_ObjCImplementation, clang::CodeCompletionContext::CCC_ObjCInterface, clang::CodeCompletionContext::CCC_ObjCIvarList, clang::CodeCompletionContext::CCC_Other, clang::CodeCompletionContext::CCC_ParenthesizedExpression, clang::CodeCompletionContext::CCC_Recovery, clang::CodeCompletionContext::CCC_Statement, clang::CodeCompletionContext::CCC_TopLevel, clang::CodeCompletionContext::CCC_TopLevelOrExpression, clang::CodeCompletionContext::CCC_Type, clang::Sema::CurContext, clang::Sema::getASTContext(), clang::Sema::getLangOpts(), clang::DeclContext::isFileContext(), clang::DeclContext::isRecord(), clang::SemaCodeCompletion::PCC_Class, clang::SemaCodeCompletion::PCC_Condition, clang::SemaCodeCompletion::PCC_Expression, clang::SemaCodeCompletion::PCC_ForInit, clang::SemaCodeCompletion::PCC_LocalDeclarationSpecifiers, clang::SemaCodeCompletion::PCC_MemberTemplate, clang::SemaCodeCompletion::PCC_Namespace, clang::SemaCodeCompletion::PCC_ObjCImplementation, clang::SemaCodeCompletion::PCC_ObjCInstanceVariableList, clang::SemaCodeCompletion::PCC_ObjCInterface, clang::SemaCodeCompletion::PCC_ParenthesizedExpression, clang::SemaCodeCompletion::PCC_RecoveryInFunction, clang::SemaCodeCompletion::PCC_Statement, clang::SemaCodeCompletion::PCC_Template, clang::SemaCodeCompletion::PCC_TopLevelOrExpression, and clang::SemaCodeCompletion::PCC_Type.
Referenced by clang::SemaCodeCompletion::CodeCompleteAfterIf(), and clang::SemaCodeCompletion::CodeCompleteOrdinaryName().
|
static |
If we're in a C++ virtual member function, add completion results that invoke the functions we override, since it's common to invoke the overridden function as well as adding new functionality.
S | The semantic analysis object for which we are generating results. |
InContext | This context in which the nested-name-specifier preceding the code-completion point |
Definition at line 4312 of file SemaCodeComplete.cpp.
References clang::CCP_SuperCompletion, clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, clang::Sema::Context, clang::Sema::CurContext, CXAvailability_Available, CXCursor_CXXMethod, clang::DeclContext::Equals(), clang::CXXMethodDecl::getCanonicalDecl(), getCompletionPrintingPolicy(), clang::DeclContext::getParent(), getRequiredQualification(), clang::CXXMethodDecl::isVirtual(), clang::CXXMethodDecl::overridden_methods(), P, clang::FunctionDecl::parameters(), and clang::NestedNameSpecifier::print().
Referenced by clang::SemaCodeCompletion::CodeCompleteOrdinaryName(), and clang::SemaCodeCompletion::CodeCompleteQualifiedId().
|
static |
Definition at line 2823 of file SemaCodeComplete.cpp.
References clang::Decl::getAttr(), clang::Preprocessor::getLangOpts(), clang::Preprocessor::isMacroDefined(), and clang::Result.
Referenced by AddFunctionParameterChunks(), and clang::CodeCompletionResult::createCodeCompletionStringForDecl().
|
static |
Definition at line 6099 of file SemaCodeComplete.cpp.
References clang::OverloadCandidateSet::getKind(), clang::isBetterOverloadCandidate(), Loc, clang::shouldEnforceArgLimit(), and X.
Referenced by clang::SemaCodeCompletion::ProduceCallSignatureHelp(), and clang::SemaCodeCompletion::ProduceConstructorSignatureHelp().
|
static |
Definition at line 4591 of file SemaCodeComplete.cpp.
Referenced by clang::SemaCodeCompletion::CodeCompleteAttribute().
Determine whether the addition of the given flag to an Objective-C property's attributes will cause a conflict.
Definition at line 7469 of file SemaCodeComplete.cpp.
References clang::ObjCPropertyAttribute::kind_assign, clang::ObjCPropertyAttribute::kind_copy, clang::ObjCPropertyAttribute::kind_readonly, clang::ObjCPropertyAttribute::kind_readwrite, clang::ObjCPropertyAttribute::kind_retain, clang::ObjCPropertyAttribute::kind_strong, clang::ObjCPropertyAttribute::kind_unsafe_unretained, and clang::ObjCPropertyAttribute::kind_weak.
Referenced by clang::SemaCodeCompletion::CodeCompleteObjCPropertyFlags().
|
static |
Definition at line 3485 of file SemaCodeComplete.cpp.
References clang::CodeCompletionString::CK_Optional, clang::CodeCompletionString::CK_TypedText, and printOverrideString().
Referenced by clang::CodeCompletionResult::createCodeCompletionStringForOverride(), and printOverrideString().
|
static |
Definition at line 6158 of file SemaCodeComplete.cpp.
References clang::SemaCodeCompletion::CodeCompleter, clang::Sema::CodeCompletion(), getParamType(), clang::Sema::getPreprocessor(), clang::Preprocessor::isCodeCompletionReached(), and clang::CodeCompleteConsumer::ProcessOverloadCandidates().
Referenced by clang::SemaCodeCompletion::ProduceCallSignatureHelp(), clang::SemaCodeCompletion::ProduceConstructorSignatureHelp(), and clang::SemaCodeCompletion::ProduceTemplateArgumentSignatureHelp().
|
static |
Definition at line 1237 of file SemaCodeComplete.cpp.
References clang::CCD_InBaseClass, clang::CodeCompletionResult::InBaseClass, and clang::CodeCompletionResult::Priority.
Referenced by AddObjCMethods(), AddObjCProperties(), and clang::SemaCodeCompletion::CodeCompleteObjCMethodDecl().
Definition at line 769 of file SemaCodeComplete.cpp.
References clang::Sema::getLangOpts(), clang::Decl::getLocation(), clang::SourceManager::getSpellingLoc(), clang::SourceManager::isInSystemHeader(), clang::SourceLocation::isInvalid(), clang::NamedDecl::isReserved(), clang::isReservedInAllContexts(), clang::Sema::SourceMgr, and clang::StartsWithDoubleUnderscore.
|
static |
Definition at line 3933 of file SemaCodeComplete.cpp.
Referenced by createTemplateSignatureString().
|
static |
Try to find a corresponding FunctionProtoType for function-like types (e.g.
function pointers, std::function, etc).
Definition at line 4782 of file SemaCodeComplete.cpp.
References clang::Type::getAs(), clang::TemplateArgument::getAsType(), clang::TemplateArgument::getKind(), clang::Type::getPointeeType(), clang::Type::isPointerType(), clang::Specialization, clang::T, and clang::TemplateArgument::Type.
Referenced by clang::SemaCodeCompletion::CodeCompleteExpression().
|
static |
Definition at line 4583 of file SemaCodeComplete.cpp.
Referenced by clang::SemaCodeCompletion::CodeCompleteAttribute().
|
static |
Definition at line 1965 of file SemaCodeComplete.cpp.
References clang::SemaCodeCompletion::PCC_Class, clang::SemaCodeCompletion::PCC_Condition, clang::SemaCodeCompletion::PCC_Expression, clang::SemaCodeCompletion::PCC_ForInit, clang::SemaCodeCompletion::PCC_LocalDeclarationSpecifiers, clang::SemaCodeCompletion::PCC_MemberTemplate, clang::SemaCodeCompletion::PCC_Namespace, clang::SemaCodeCompletion::PCC_ObjCImplementation, clang::SemaCodeCompletion::PCC_ObjCInstanceVariableList, clang::SemaCodeCompletion::PCC_ObjCInterface, clang::SemaCodeCompletion::PCC_ParenthesizedExpression, clang::SemaCodeCompletion::PCC_RecoveryInFunction, clang::SemaCodeCompletion::PCC_Statement, clang::SemaCodeCompletion::PCC_Template, clang::SemaCodeCompletion::PCC_TopLevelOrExpression, and clang::SemaCodeCompletion::PCC_Type.
Referenced by AddOrdinaryNameResults(), clang::SemaCodeCompletion::CodeCompleteExpression(), and clang::SemaCodeCompletion::CodeCompleteOrdinaryName().