clang
6.0.0
|
Captures a result of code completion. More...
#include "clang/Sema/CodeCompleteConsumer.h"
Public Types | |
enum | ResultKind { RK_Declaration = 0, RK_Keyword, RK_Macro, RK_Pattern } |
Describes the kind of result generated. More... | |
Public Member Functions | |
CodeCompletionResult (const NamedDecl *Declaration, unsigned Priority, NestedNameSpecifier *Qualifier=nullptr, bool QualifierIsInformative=false, bool Accessible=true) | |
Build a result that refers to a declaration. More... | |
CodeCompletionResult (const char *Keyword, unsigned Priority=CCP_Keyword) | |
Build a result that refers to a keyword or symbol. More... | |
CodeCompletionResult (const IdentifierInfo *Macro, unsigned Priority=CCP_Macro) | |
Build a result that refers to a macro. More... | |
CodeCompletionResult (CodeCompletionString *Pattern, unsigned Priority=CCP_CodePattern, CXCursorKind CursorKind=CXCursor_NotImplemented, CXAvailabilityKind Availability=CXAvailability_Available, const NamedDecl *D=nullptr) | |
Build a result that refers to a pattern. More... | |
CodeCompletionResult (CodeCompletionString *Pattern, const NamedDecl *D, unsigned Priority) | |
Build a result that refers to a pattern with an associated declaration. More... | |
const NamedDecl * | getDeclaration () const |
Retrieve the declaration stored in this result. More... | |
const char * | getKeyword () const |
Retrieve the keyword stored in this result. More... | |
CodeCompletionString * | CreateCodeCompletionString (Sema &S, const CodeCompletionContext &CCContext, CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments) |
Create a new code-completion string that describes how to insert this result into a program. More... | |
CodeCompletionString * | CreateCodeCompletionString (ASTContext &Ctx, Preprocessor &PP, const CodeCompletionContext &CCContext, CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments) |
If possible, create a new code completion string for the given result. More... | |
StringRef | getOrderedName (std::string &Saved) const |
Retrieve the name that should be used to order a result. More... | |
Public Attributes | |
const NamedDecl * | Declaration |
When Kind == RK_Declaration or RK_Pattern, the declaration we are referring to. More... | |
union { | |
const char * Keyword | |
When Kind == RK_Keyword, the string representing the keyword or symbol's spelling. More... | |
CodeCompletionString * Pattern | |
When Kind == RK_Pattern, the code-completion string that describes the completion text to insert. More... | |
const IdentifierInfo * Macro | |
When Kind == RK_Macro, the identifier that refers to a macro. More... | |
}; | |
unsigned | Priority |
The priority of this particular code-completion result. More... | |
unsigned | StartParameter |
Specifies which parameter (of a function, Objective-C method, macro, etc.) we should start with when formatting the result. More... | |
ResultKind | Kind |
The kind of result stored here. More... | |
CXCursorKind | CursorKind |
The cursor kind that describes this result. More... | |
CXAvailabilityKind | Availability |
The availability of this result. More... | |
bool | Hidden: 1 |
Whether this result is hidden by another name. More... | |
bool | QualifierIsInformative: 1 |
Whether this result was found via lookup into a base class. More... | |
bool | StartsNestedNameSpecifier: 1 |
Whether this declaration is the beginning of a nested-name-specifier and, therefore, should be followed by '::'. More... | |
bool | AllParametersAreInformative: 1 |
Whether all parameters (of a function, Objective-C method, etc.) should be considered "informative". More... | |
bool | DeclaringEntity: 1 |
Whether we're completing a declaration of the given entity, rather than a use of that entity. More... | |
NestedNameSpecifier * | Qualifier |
If the result should have a nested-name-specifier, this is it. More... | |
Captures a result of code completion.
Definition at line 640 of file CodeCompleteConsumer.h.
Describes the kind of result generated.
Enumerator | |
---|---|
RK_Declaration | Refers to a declaration. |
RK_Keyword | Refers to a keyword or symbol. |
RK_Macro | Refers to a macro. |
RK_Pattern | Refers to a precomputed pattern. |
Definition at line 643 of file CodeCompleteConsumer.h.
|
inline |
Build a result that refers to a declaration.
Definition at line 707 of file CodeCompleteConsumer.h.
|
inline |
Build a result that refers to a keyword or symbol.
Definition at line 722 of file CodeCompleteConsumer.h.
|
inline |
Build a result that refers to a macro.
Definition at line 731 of file CodeCompleteConsumer.h.
|
inline |
Build a result that refers to a pattern.
Definition at line 741 of file CodeCompleteConsumer.h.
|
inline |
Build a result that refers to a pattern with an associated declaration.
Definition at line 756 of file CodeCompleteConsumer.h.
CodeCompletionString * CodeCompletionResult::CreateCodeCompletionString | ( | Sema & | S, |
const CodeCompletionContext & | CCContext, | ||
CodeCompletionAllocator & | Allocator, | ||
CodeCompletionTUInfo & | CCTUInfo, | ||
bool | IncludeBriefComments | ||
) |
Create a new code-completion string that describes how to insert this result into a program.
S | The semantic analysis that created the result. |
Allocator | The allocator that will be used to allocate the string itself. |
Definition at line 2721 of file SemaCodeComplete.cpp.
CodeCompletionString * CodeCompletionResult::CreateCodeCompletionString | ( | ASTContext & | Ctx, |
Preprocessor & | PP, | ||
const CodeCompletionContext & | CCContext, | ||
CodeCompletionAllocator & | Allocator, | ||
CodeCompletionTUInfo & | CCTUInfo, | ||
bool | IncludeBriefComments | ||
) |
If possible, create a new code completion string for the given result.
Definition at line 2737 of file SemaCodeComplete.cpp.
References clang::CodeCompletionBuilder::addBriefComment(), clang::CodeCompletionBuilder::AddChunk(), clang::CodeCompletionBuilder::addParentContext(), clang::CodeCompletionBuilder::AddPlaceholderChunk(), clang::CodeCompletionBuilder::AddTextChunk(), clang::CodeCompletionBuilder::AddTypedTextChunk(), clang::CodeCompletionString::CK_Comma, clang::CodeCompletionString::CK_LeftParen, clang::CodeCompletionString::CK_RightParen, clang::CodeCompletionAllocator::CopyString(), clang::ObjCPropertyDecl::findPropertyDecl(), clang::CodeCompletionBuilder::getAllocator(), clang::CodeCompletionBuilder::getBriefComment(), getCompletionPrintingPolicy(), clang::Decl::getDeclContext(), clang::Preprocessor::getMacroInfo(), clang::NamedDecl::getNameAsString(), clang::CodeCompletionBuilder::getParentName(), clang::ASTContext::getRawCommentForAnyRedecl(), clang::MacroInfo::isC99Varargs(), clang::MacroInfo::isFunctionLike(), clang::MacroInfo::isVariadic(), clang::MacroInfo::param_begin(), clang::MacroInfo::param_end(), and clang::CodeCompletionBuilder::TakeString().
|
inline |
Retrieve the declaration stored in this result.
Definition at line 767 of file CodeCompleteConsumer.h.
|
inline |
Retrieve the keyword stored in this result.
Definition at line 773 of file CodeCompleteConsumer.h.
StringRef CodeCompletionResult::getOrderedName | ( | std::string & | Saved | ) | const |
Retrieve the name that should be used to order a result.
If the name needs to be constructed as a string, that string will be saved into Saved and the returned StringRef will refer to it.
Definition at line 616 of file CodeCompleteConsumer.cpp.
Referenced by clang::operator<().
union { ... } |
bool clang::CodeCompletionResult::AllParametersAreInformative |
Whether all parameters (of a function, Objective-C method, etc.) should be considered "informative".
Definition at line 695 of file CodeCompleteConsumer.h.
CXAvailabilityKind clang::CodeCompletionResult::Availability |
The availability of this result.
Definition at line 681 of file CodeCompleteConsumer.h.
CXCursorKind clang::CodeCompletionResult::CursorKind |
The cursor kind that describes this result.
Definition at line 678 of file CodeCompleteConsumer.h.
const NamedDecl* clang::CodeCompletionResult::Declaration |
When Kind == RK_Declaration or RK_Pattern, the declaration we are referring to.
In the latter case, the declaration might be NULL.
Definition at line 652 of file CodeCompleteConsumer.h.
Referenced by clang::PrintingCodeCompleteConsumer::isResultFilteredOut().
bool clang::CodeCompletionResult::DeclaringEntity |
Whether we're completing a declaration of the given entity, rather than a use of that entity.
Definition at line 699 of file CodeCompleteConsumer.h.
bool clang::CodeCompletionResult::Hidden |
Whether this result is hidden by another name.
Definition at line 684 of file CodeCompleteConsumer.h.
const char* clang::CodeCompletionResult::Keyword |
When Kind == RK_Keyword, the string representing the keyword or symbol's spelling.
Definition at line 657 of file CodeCompleteConsumer.h.
Referenced by clang::PrintingCodeCompleteConsumer::isResultFilteredOut().
ResultKind clang::CodeCompletionResult::Kind |
The kind of result stored here.
Definition at line 675 of file CodeCompleteConsumer.h.
Referenced by clang::PrintingCodeCompleteConsumer::isResultFilteredOut().
const IdentifierInfo* clang::CodeCompletionResult::Macro |
When Kind == RK_Macro, the identifier that refers to a macro.
Definition at line 664 of file CodeCompleteConsumer.h.
Referenced by clang::PrintingCodeCompleteConsumer::isResultFilteredOut().
CodeCompletionString* clang::CodeCompletionResult::Pattern |
When Kind == RK_Pattern, the code-completion string that describes the completion text to insert.
Definition at line 661 of file CodeCompleteConsumer.h.
Referenced by clang::PrintingCodeCompleteConsumer::isResultFilteredOut().
unsigned clang::CodeCompletionResult::Priority |
The priority of this particular code-completion result.
Definition at line 668 of file CodeCompleteConsumer.h.
NestedNameSpecifier* clang::CodeCompletionResult::Qualifier |
If the result should have a nested-name-specifier, this is it.
When QualifierIsInformative
, the nested-name-specifier is informative rather than required.
Definition at line 704 of file CodeCompleteConsumer.h.
bool clang::CodeCompletionResult::QualifierIsInformative |
Whether this result was found via lookup into a base class.
Definition at line 687 of file CodeCompleteConsumer.h.
unsigned clang::CodeCompletionResult::StartParameter |
Specifies which parameter (of a function, Objective-C method, macro, etc.) we should start with when formatting the result.
Definition at line 672 of file CodeCompleteConsumer.h.
bool clang::CodeCompletionResult::StartsNestedNameSpecifier |
Whether this declaration is the beginning of a nested-name-specifier and, therefore, should be followed by '::'.
Definition at line 691 of file CodeCompleteConsumer.h.