A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/CodeCompleteConsumer_8cpp_source.html below:

clang: lib/Sema/CodeCompleteConsumer.cpp Source File

24#include "llvm/ADT/StringExtras.h" 25#include "llvm/ADT/StringRef.h" 26#include "llvm/ADT/Twine.h" 27#include "llvm/Support/Compiler.h" 28#include "llvm/Support/ErrorHandling.h" 29#include "llvm/Support/raw_ostream.h" 35using namespace clang

;

87

llvm_unreachable(

"Invalid CodeCompletionContext::Kind!"

);

93 case

CCKind::CCC_Other:

95 case

CCKind::CCC_OtherWithMacros:

96 return "OtherWithMacros"

;

97 case

CCKind::CCC_TopLevel:

99 case

CCKind::CCC_ObjCInterface:

100 return "ObjCInterface"

;

101 case

CCKind::CCC_ObjCImplementation:

102 return "ObjCImplementation"

;

103 case

CCKind::CCC_ObjCIvarList:

104 return "ObjCIvarList"

;

105 case

CCKind::CCC_ClassStructUnion:

106 return "ClassStructUnion"

;

107 case

CCKind::CCC_Statement:

109 case

CCKind::CCC_Expression:

110 return "Expression"

;

111 case

CCKind::CCC_ObjCMessageReceiver:

112 return "ObjCMessageReceiver"

;

113 case

CCKind::CCC_DotMemberAccess:

114 return "DotMemberAccess"

;

115 case

CCKind::CCC_ArrowMemberAccess:

116 return "ArrowMemberAccess"

;

117 case

CCKind::CCC_ObjCPropertyAccess:

118 return "ObjCPropertyAccess"

;

119 case

CCKind::CCC_EnumTag:

121 case

CCKind::CCC_UnionTag:

123 case

CCKind::CCC_ClassOrStructTag:

124 return "ClassOrStructTag"

;

125 case

CCKind::CCC_ObjCProtocolName:

126 return "ObjCProtocolName"

;

127 case

CCKind::CCC_Namespace:

129 case

CCKind::CCC_Type:

131 case

CCKind::CCC_NewName:

133 case

CCKind::CCC_Symbol:

135 case

CCKind::CCC_SymbolOrNewName:

136 return "SymbolOrNewName"

;

137 case

CCKind::CCC_MacroName:

139 case

CCKind::CCC_MacroNameUse:

140 return "MacroNameUse"

;

141 case

CCKind::CCC_PreprocessorExpression:

142 return "PreprocessorExpression"

;

143 case

CCKind::CCC_PreprocessorDirective:

144 return "PreprocessorDirective"

;

145 case

CCKind::CCC_NaturalLanguage:

146 return "NaturalLanguage"

;

147 case

CCKind::CCC_SelectorName:

148 return "SelectorName"

;

149 case

CCKind::CCC_TypeQualifiers:

150 return "TypeQualifiers"

;

151 case

CCKind::CCC_ParenthesizedExpression:

152 return "ParenthesizedExpression"

;

153 case

CCKind::CCC_ObjCInstanceMessage:

154 return "ObjCInstanceMessage"

;

155 case

CCKind::CCC_ObjCClassMessage:

156 return "ObjCClassMessage"

;

157 case

CCKind::CCC_ObjCInterfaceName:

158 return "ObjCInterfaceName"

;

159 case

CCKind::CCC_ObjCCategoryName:

160 return "ObjCCategoryName"

;

161 case

CCKind::CCC_IncludedFile:

162 return "IncludedFile"

;

163 case

CCKind::CCC_Attribute:

165 case

CCKind::CCC_Recovery:

167 case

CCKind::CCC_ObjCClassForwardDecl:

168 return "ObjCClassForwardDecl"

;

169 case

CCKind::CCC_TopLevelOrExpression:

170 return "ReplTopLevel"

;

172

llvm_unreachable(

"Invalid CodeCompletionContext::Kind!"

);

180

: Kind(Kind),

Text

(

""

) {

192

llvm_unreachable(

"Optional strings cannot be created from text"

);

281 const char

*CurrentParameter) {

285

CodeCompletionString::CodeCompletionString(

286 const Chunk

*Chunks,

unsigned

NumChunks,

unsigned

Priority,

288 unsigned

NumAnnotations, StringRef ParentName,

const char

*BriefComment)

289

: NumChunks(NumChunks), NumAnnotations(NumAnnotations),

Priority

(

Priority

),

290

Availability(Availability), ParentName(ParentName),

291

BriefComment(BriefComment) {

292

assert(NumChunks <= 0xffff);

293

assert(NumAnnotations <= 0xffff);

295 Chunk

*StoredChunks =

reinterpret_cast<Chunk

*

>

(

this

+ 1);

296 for

(

unsigned

I = 0; I != NumChunks; ++I)

297

StoredChunks[I] = Chunks[I];

299 const char

**StoredAnnotations =

300 reinterpret_cast<const char

**

>

(StoredChunks + NumChunks);

301 for

(

unsigned

I = 0; I != NumAnnotations; ++I)

302

StoredAnnotations[I] = Annotations[I];

306 return

NumAnnotations;

310 if

(AnnotationNr < NumAnnotations)

311 return reinterpret_cast<const char

*

const

*

>

(

end

())[AnnotationNr];

318

llvm::raw_string_ostream OS(

Result

);

320 for

(

const Chunk

&

C

: *

this

) {

323

OS <<

"{#"

<<

C

.Optional->getAsString() <<

"#}"

;

326

OS <<

"<#"

<<

C

.Text <<

"#>"

;

330

OS <<

"[#"

<<

C

.Text <<

"#]"

;

333

OS <<

"<#"

<<

C

.Text <<

"#>"

;

344 for

(

const Chunk

&

C

: *

this

)

353 for

(

const Chunk

&

C

: *

this

)

362

StringRef Ref = String.toStringRef(

Data

);

366 char

*Mem = (

char

*)Allocate(Ref.size() + 1, 1);

367

std::copy(Ref.begin(), Ref.end(), Mem);

373 if

(!isa<NamedDecl>(DC))

377

StringRef &CachedParentName = ParentNames[DC];

378 if

(!CachedParentName.empty())

379 return

CachedParentName;

383 if

(CachedParentName.data() !=

nullptr

)

389 if

(

const auto

*ND = dyn_cast<NamedDecl>(DC)) {

390 if

(ND->getIdentifier())

391

Contexts.push_back(DC);

399

llvm::raw_svector_ostream OS(S);

401 for

(

const DeclContext

*CurDC : llvm::reverse(Contexts)) {

408 if

(

const auto

*CatImpl = dyn_cast<ObjCCategoryImplDecl>(CurDC))

409

CurDC = CatImpl->getCategoryDecl();

411 if

(

const auto

*Cat = dyn_cast<ObjCCategoryDecl>(CurDC)) {

416

CachedParentName = StringRef((

const char

*)(

uintptr_t

)~0

U

, 0);

420

OS <<

Interface

->getName() <<

'('

<< Cat->getName() <<

')'

;

422

OS << cast<NamedDecl>(CurDC)->getName();

426

CachedParentName = AllocatorRef->CopyString(OS.str());

429 return

CachedParentName;

433 void

*Mem = getAllocator().Allocate(

435 sizeof

(

const char

*) * Annotations.size(),

438

Chunks.data(), Chunks.size(),

Priority

, Availability, Annotations.data(),

439

Annotations.size(), ParentName, BriefComment);

469 const char

*CurrentParameter) {

474 const char

*

Text

) {

485 if

(!isa<NamedDecl>(DC))

488

ParentName = getCodeCompletionTUInfo().getParentName(DC);

492

BriefComment = Allocator.CopyString(Comment);

499 if

(

getKind

() == CK_Function)

501 else if

(

getKind

() == CK_FunctionTemplate)

502 return

FunctionTemplate->getTemplatedDecl();

513 case

CK_FunctionTemplate:

514 return

FunctionTemplate->getTemplatedDecl()

518 case

CK_FunctionType:

520 case

CK_FunctionProtoTypeLoc:

521 return

ProtoTypeLoc.getTypePtr();

527

llvm_unreachable(

"Invalid CandidateKind!"

);

532 if

(Kind == CK_FunctionProtoTypeLoc)

538 if

(Kind == CK_Template)

539 return

Template->getTemplateParameters()->size();

541 if

(Kind == CK_Aggregate) {

543

std::distance(AggregateType->field_begin(), AggregateType->field_end());

544 if

(

const auto

*CRD = dyn_cast<CXXRecordDecl>(AggregateType))

545

Count += CRD->getNumBases();

549 if

(

const auto

*FT = getFunctionType())

550 if

(

const auto

*FPT = dyn_cast<FunctionProtoType>(FT))

551 return

FPT->getNumParams();

558 if

(Kind == CK_Aggregate) {

559 if

(

const auto

*CRD = dyn_cast<CXXRecordDecl>(AggregateType)) {

560 if

(N < CRD->getNumBases())

561 return

std::next(CRD->bases_begin(), N)->getType();

562

N -= CRD->getNumBases();

564 for

(

const auto

*Field : AggregateType->fields())

566 return

Field->getType();

570 if

(Kind == CK_Template) {

572 if

(N < TPL->

size

())

573 if

(

const auto

*

D

= dyn_cast<NonTypeTemplateParmDecl>(TPL->

getParam

(N)))

574 return D

->getType();

578 if

(

const auto

*FT = getFunctionType())

579 if

(

const auto

*FPT = dyn_cast<FunctionProtoType>(FT))

580 if

(N < FPT->getNumParams())

581 return

FPT->getParamType(N);

587 if

(Kind == CK_Aggregate) {

588 if

(

const auto

*CRD = dyn_cast<CXXRecordDecl>(AggregateType)) {

589 if

(N < CRD->getNumBases())

590 return

std::next(CRD->bases_begin(), N)->getType()->getAsTagDecl();

591

N -= CRD->getNumBases();

593 for

(

const auto

*Field : AggregateType->fields())

599 if

(Kind == CK_Template) {

601 if

(N < TPL->

size

())

607 if

(

const auto

*FD = getFunction()) {

608 if

(N < FD->param_size())

609 return

FD->getParamDecl(N);

610

}

else if

(Kind == CK_FunctionProtoTypeLoc) {

611 if

(N < ProtoTypeLoc.getNumParams()) {

612 return

ProtoTypeLoc.getParam(N);

630 Result

.Declaration->getIdentifier() &&

631 Result

.Declaration->getIdentifier()->getName().starts_with(Filter));

633 return

!StringRef(

Result

.Keyword).starts_with(Filter);

635 return

!

Result

.Macro->getName().starts_with(Filter);

637 return

!(

Result

.Pattern->getTypedText() &&

638

StringRef(

Result

.Pattern->getTypedText()).starts_with(Filter));

640

llvm_unreachable(

"Unknown code completion result Kind."

);

645 unsigned

NumResults) {

646

std::stable_sort(Results, Results + NumResults);

648 if

(!Context.getPreferredType().isNull())

649

OS <<

"PREFERRED-TYPE: "

<< Context.getPreferredType() <<

'\n'

;

653 for

(

unsigned

I = 0; I != NumResults; ++I) {

654 if

(!Filter.empty() && isResultFilteredOut(Filter, Results[I]))

656

OS <<

"COMPLETION: "

;

657 switch

(Results[I].Kind) {

659

OS << *Results[I].Declaration;

661

std::vector<std::string> Tags;

662 if

(Results[I].Hidden)

663

Tags.push_back(

"Hidden"

);

664 if

(Results[I].InBaseClass)

665

Tags.push_back(

"InBase"

);

666 if

(Results[I].Availability ==

667

CXAvailabilityKind::CXAvailability_NotAccessible)

668

Tags.push_back(

"Inaccessible"

);

670

OS <<

" ("

<< llvm::join(Tags,

","

) <<

")"

;

673

SemaRef, Context, getAllocator(), CCTUInfo,

674

includeBriefComments())) {

675

OS <<

" : "

<< CCS->getAsString();

676 if

(

const char

*BriefComment = CCS->getBriefComment())

677

OS <<

" : "

<< BriefComment;

682

OS << Results[I].Keyword;

686

OS << Results[I].Macro->getName();

688

SemaRef, Context, getAllocator(), CCTUInfo,

689

includeBriefComments())) {

690

OS <<

" : "

<< CCS->getAsString();

695

OS <<

"Pattern : "

<< Results[I].Pattern->getAsString();

698 for

(

const FixItHint

&FixIt : Results[I].FixIts) {

703

std::pair<FileID, unsigned> BInfo =

SM

.getDecomposedLoc(BLoc);

704

std::pair<FileID, unsigned> EInfo =

SM

.getDecomposedLoc(ELoc);

706 if

(FixIt.RemoveRange.isTokenRange())

709

OS <<

" (requires fix-it:" 710

<<

" {"

<<

SM

.getLineNumber(BInfo.first, BInfo.second) <<

':' 711

<<

SM

.getColumnNumber(BInfo.first, BInfo.second) <<

'-' 712

<<

SM

.getLineNumber(EInfo.first, EInfo.second) <<

':' 713

<<

SM

.getColumnNumber(EInfo.first, EInfo.second) <<

"}" 714

<<

" to \""

<< FixIt.CodeToInsert <<

"\")"

;

726

llvm::raw_string_ostream OS(

Result

);

728 for

(

auto

&

C

: CCS) {

732

OS <<

"[#"

<<

C

.Text <<

"#]"

;

736

OS <<

"<#"

<<

C

.Text <<

"#>"

;

754

OS <<

"OPENING_PAREN_LOC: "

;

758 for

(

unsigned

I = 0; I != NumCandidates; ++I) {

760

CurrentArg, SemaRef, getAllocator(), CCTUInfo,

761

includeBriefComments(), Braced)) {

770 if

(isa<EnumConstantDecl>(

D

))

771

AR = std::max(AR, cast<Decl>(

D

->

getDeclContext

())->getAvailability());

775void

CodeCompletionResult::computeCursorKindAndAvailability(

bool

Accessible) {

784 case

RK_Declaration: {

822

llvm_unreachable(

"Macro and keyword kinds are handled by the constructors"

);

838 return

Pattern->getTypedText();

840 return

Macro->getName();

851 return Id

->getName();

852 if

(Name.isObjCZeroArgSelector())

854

Name.getObjCSelector().getIdentifierInfoForSlot(0))

855 return Id

->getName();

857

Saved = Name.getAsString();

863

std::string XSaved, YSaved;

864

StringRef XStr =

X

.getOrderedName(XSaved);

866 int

cmp = XStr.compare_insensitive(YStr);

871 return

XStr.compare(YStr) < 0;

static AvailabilityResult getDeclAvailability(const Decl *D)

Retrieve the effective availability of the given declaration.

static std::string getOverloadAsString(const CodeCompletionString &CCS)

static Decl::Kind getKind(const Decl *D)

Defines the C++ template declaration subclasses.

Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.

Defines the clang::Preprocessor interface.

C Language Family Type Representation.

QualType getParamType(unsigned N) const

Get the type of the Nth parameter.

const FunctionType * getFunctionType() const

Retrieve the function type of the entity, regardless of how the function is stored.

FunctionDecl * getFunction() const

Retrieve the function overload candidate or the templated function declaration for a function templat...

const FunctionProtoTypeLoc getFunctionProtoTypeLoc() const

Retrieve the function ProtoTypeLoc candidate.

const NamedDecl * getParamDecl(unsigned N) const

Get the declaration of the Nth parameter.

unsigned getNumParams() const

Get the number of parameters in this signature.

virtual ~CodeCompleteConsumer()

Deregisters and destroys this code-completion consumer.

const char * CopyString(const Twine &String)

Copy the given string into this allocator.

CodeCompletionString * TakeString()

Take the resulting completion string.

void AddPlaceholderChunk(const char *Placeholder)

Add a new placeholder chunk.

void AddTextChunk(const char *Text)

Add a new text chunk.

void addParentContext(const DeclContext *DC)

Add the parent context information to this code completion.

void addBriefComment(StringRef Comment)

void AddCurrentParameterChunk(const char *CurrentParameter)

Add a new current-parameter chunk.

void AddResultTypeChunk(const char *ResultType)

Add a new result-type chunk.

void AddInformativeChunk(const char *Text)

Add a new informative chunk.

void AddOptionalChunk(CodeCompletionString *Optional)

Add a new optional chunk.

void AddTypedTextChunk(const char *Text)

Add a new typed-text chunk.

void AddChunk(CodeCompletionString::ChunkKind CK, const char *Text="")

Add a new chunk.

The context in which code completion occurred, so that the code-completion consumer can process the r...

@ CCC_TypeQualifiers

Code completion within a type-qualifier list.

@ CCC_ObjCMessageReceiver

Code completion occurred where an Objective-C message receiver is expected.

@ CCC_PreprocessorExpression

Code completion occurred within a preprocessor expression.

@ CCC_ObjCCategoryName

Code completion where an Objective-C category name is expected.

@ CCC_ObjCIvarList

Code completion occurred within the instance variable list of an Objective-C interface,...

@ CCC_Statement

Code completion occurred where a statement (or declaration) is expected in a function,...

@ CCC_Type

Code completion occurred where a type name is expected.

@ CCC_ArrowMemberAccess

Code completion occurred on the right-hand side of a member access expression using the arrow operato...

@ CCC_ClassStructUnion

Code completion occurred within a class, struct, or union.

@ CCC_ObjCInterface

Code completion occurred within an Objective-C interface, protocol, or category interface.

@ CCC_ObjCPropertyAccess

Code completion occurred on the right-hand side of an Objective-C property access expression.

@ CCC_Expression

Code completion occurred where an expression is expected.

@ CCC_SelectorName

Code completion for a selector, as in an @selector expression.

@ CCC_TopLevelOrExpression

Code completion at a top level, i.e.

@ CCC_EnumTag

Code completion occurred after the "enum" keyword, to indicate an enumeration name.

@ CCC_UnionTag

Code completion occurred after the "union" keyword, to indicate a union name.

@ CCC_ParenthesizedExpression

Code completion in a parenthesized expression, which means that we may also have types here in C and ...

@ CCC_TopLevel

Code completion occurred within a "top-level" completion context, e.g., at namespace or global scope.

@ CCC_ClassOrStructTag

Code completion occurred after the "struct" or "class" keyword, to indicate a struct or class name.

@ CCC_ObjCClassMessage

Code completion where an Objective-C class message is expected.

@ CCC_ObjCImplementation

Code completion occurred within an Objective-C implementation or category implementation.

@ CCC_IncludedFile

Code completion inside the filename part of a #include directive.

@ CCC_ObjCInstanceMessage

Code completion where an Objective-C instance message is expected.

@ CCC_SymbolOrNewName

Code completion occurred where both a new name and an existing symbol is permissible.

@ CCC_Recovery

An unknown context, in which we are recovering from a parsing error and don't know which completions ...

@ CCC_ObjCProtocolName

Code completion occurred where a protocol name is expected.

@ CCC_OtherWithMacros

An unspecified code-completion context where we should also add macro completions.

@ CCC_NewName

Code completion occurred where a new name is expected.

@ CCC_MacroNameUse

Code completion occurred where a macro name is expected (without any arguments, in the case of a func...

@ CCC_Symbol

Code completion occurred where an existing name(such as type, function or variable) is expected.

@ CCC_Attribute

Code completion of an attribute name.

@ CCC_Other

An unspecified code-completion context.

@ CCC_DotMemberAccess

Code completion occurred on the right-hand side of a member access expression using the dot operator.

@ CCC_MacroName

Code completion occurred where an macro is being defined.

@ CCC_Namespace

Code completion occurred where a namespace or namespace alias is expected.

@ CCC_PreprocessorDirective

Code completion occurred where a preprocessor directive is expected.

@ CCC_NaturalLanguage

Code completion occurred in a context where natural language is expected, e.g., a comment or string l...

@ CCC_ObjCInterfaceName

Code completion where the name of an Objective-C class is expected.

@ CCC_ObjCClassForwardDecl

bool wantConstructorResults() const

Determines whether we want C++ constructors as results within this context.

Captures a result of code completion.

StringRef getOrderedName(std::string &Saved) const

Retrieve the name that should be used to order a result.

@ RK_Pattern

Refers to a precomputed pattern.

@ RK_Declaration

Refers to a declaration.

@ RK_Macro

Refers to a macro.

@ RK_Keyword

Refers to a keyword or symbol.

A "string" used to describe how code completion can be performed for an entity.

ChunkKind

The different kinds of "chunks" that can occur within a code completion string.

@ CK_Optional

A code completion string that is entirely optional.

@ CK_CurrentParameter

A piece of text that describes the parameter that corresponds to the code-completion location within ...

@ CK_Comma

A comma separator (',').

@ CK_Text

A piece of text that should be placed in the buffer, e.g., parentheses or a comma in a function call.

@ CK_Placeholder

A string that acts as a placeholder for, e.g., a function call argument.

@ CK_LeftParen

A left parenthesis ('(').

@ CK_HorizontalSpace

Horizontal whitespace (' ').

@ CK_RightAngle

A right angle bracket ('>').

@ CK_Informative

A piece of text that describes something about the result but should not be inserted into the buffer.

@ CK_LeftBracket

A left bracket ('[').

@ CK_Colon

A colon (':').

@ CK_RightParen

A right parenthesis (')').

@ CK_RightBrace

A right brace ('}').

@ CK_VerticalSpace

Vertical whitespace ('\n' or '\r\n', depending on the platform).

@ CK_SemiColon

A semicolon (';').

@ CK_TypedText

The piece of text that the user is expected to type to match the code-completion string,...

@ CK_ResultType

A piece of text that describes the type of an entity or, for functions and methods,...

@ CK_RightBracket

A right bracket (']').

@ CK_LeftBrace

A left brace ('{').

@ CK_LeftAngle

A left angle bracket ('<').

std::string getAsString() const

Retrieve a string representation of the code completion string, which is mainly useful for debugging.

std::string getAllTypedText() const

Returns the combined text from all TypedText chunks.

const char * getTypedText() const

Returns the text in the first TypedText chunk.

unsigned getAnnotationCount() const

Retrieve the number of annotations for this code completion result.

const char * getAnnotation(unsigned AnnotationNr) const

Retrieve the annotation string specified by AnnotationNr.

StringRef getParentName(const DeclContext *DC)

DeclContext - This is used only as base class of specific decl types that can act as declaration cont...

DeclContext * getParent()

getParent - Returns the containing DeclContext.

bool isTranslationUnit() const

bool isFunctionOrMethod() const

Decl - This represents one declaration (or definition), e.g.

AvailabilityResult getAvailability(std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const

Determine the availability of the given declaration.

DeclContext * getDeclContext()

The name of a declaration.

Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...

Represents a function declaration or definition.

FunctionType - C99 6.7.5.3 - Function Declarators.

One of these records is kept for each identifier that is lexed.

static unsigned MeasureTokenLength(SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts)

MeasureTokenLength - Relex the token at the specified location and return its length in bytes in the ...

This represents a decl that may have a name.

Represents an ObjC class declaration.

StringRef getCodeCompletionFilter()

Get the code completion token for filtering purposes.

void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context, CodeCompletionResult *Results, unsigned NumResults) override

Prints the finalized code-completion results.

void ProcessOverloadCandidates(Sema &S, unsigned CurrentArg, OverloadCandidate *Candidates, unsigned NumCandidates, SourceLocation OpenParLoc, bool Braced) override

bool isResultFilteredOut(StringRef Filter, CodeCompletionResult Results) override

A (possibly-)qualified type.

Sema - This implements semantic analysis and AST building for C.

Preprocessor & getPreprocessor() const

const LangOptions & LangOpts

SourceManager & getSourceManager() const

SourceManager & SourceMgr

Encodes a location in the source.

void print(raw_ostream &OS, const SourceManager &SM) const

This class handles loading and caching of source files into memory.

Stores a list of template parameters for a TemplateDecl and its derived classes.

NamedDecl * getParam(unsigned Idx)

The base class of the type hierarchy.

const T * getAs() const

Member-template getAs<specific type>'.

CXAvailabilityKind

Describes the availability of a particular entity, which indicates whether the use of this entity wil...

@ CXCursor_ObjCInterfaceDecl

An Objective-C @interface.

@ CXCursor_ObjCProtocolDecl

An Objective-C @protocol declaration.

@ CXCursor_UnexposedDecl

A declaration whose specific kind is not exposed via this interface.

@ CXCursor_NotImplemented

@ CXAvailability_Available

The entity is available.

@ CXAvailability_Deprecated

The entity is available, but has been deprecated (and its use is not recommended).

@ CXAvailability_NotAccessible

The entity is available, but not accessible; any use of it will be an error.

@ CXAvailability_NotAvailable

The entity is not available; any use of it will be an error.

The JSON file list parser is used to communicate input to InstallAPI.

CXCursorKind getCursorKindForDecl(const Decl *D)

Determine the libclang cursor kind associated with the given declaration.

bool operator<(DeclarationName LHS, DeclarationName RHS)

Ordering on two declaration names.

@ Result

The result type of a method or function.

AvailabilityResult

Captures the result of checking the availability of a declaration.

llvm::StringRef getCompletionKindString(CodeCompletionContext::Kind Kind)

Get string representation of Kind, useful for debugging.

@ Interface

The "__interface" keyword introduces the elaborated-type-specifier.

__UINTPTR_TYPE__ uintptr_t

An unsigned integer type with the property that any valid pointer to void can be converted to this ty...

One piece of the code completion string.

static Chunk CreateOptional(CodeCompletionString *Optional)

Create a new optional chunk.

ChunkKind Kind

The kind of data stored in this piece of the code completion string.

static Chunk CreatePlaceholder(const char *Placeholder)

Create a new placeholder chunk.

static Chunk CreateCurrentParameter(const char *CurrentParameter)

Create a new current-parameter chunk.

static Chunk CreateInformative(const char *Informative)

Create a new informative chunk.

static Chunk CreateResultType(const char *ResultType)

Create a new result type chunk.

const char * Text

The text string associated with a CK_Text, CK_Placeholder, CK_Informative, or CK_Comma chunk.

static Chunk CreateText(const char *Text)

Create a new text chunk.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4