clang  17.0.0git
Public Types | Public Member Functions | List of all members
clang::CodeCompleteConsumer::OverloadCandidate Class Reference

#include "clang/Sema/CodeCompleteConsumer.h"

Collaboration diagram for clang::CodeCompleteConsumer::OverloadCandidate:
Collaboration graph
[legend]

Public Types

enum  CandidateKind {
  CK_Function, CK_FunctionTemplate, CK_FunctionType, CK_FunctionProtoTypeLoc,
  CK_Template, CK_Aggregate
}
 Describes the type of overload candidate. More...
 

Public Member Functions

 OverloadCandidate (FunctionDecl *Function)
 
 OverloadCandidate (FunctionTemplateDecl *FunctionTemplateDecl)
 
 OverloadCandidate (const FunctionType *Type)
 
 OverloadCandidate (FunctionProtoTypeLoc Prototype)
 
 OverloadCandidate (const RecordDecl *Aggregate)
 
 OverloadCandidate (const TemplateDecl *Template)
 
CandidateKind getKind () const
 Determine the kind of overload candidate. More...
 
FunctionDeclgetFunction () const
 Retrieve the function overload candidate or the templated function declaration for a function template. More...
 
FunctionTemplateDeclgetFunctionTemplate () const
 Retrieve the function template overload candidate. More...
 
const FunctionTypegetFunctionType () const
 Retrieve the function type of the entity, regardless of how the function is stored. More...
 
const FunctionProtoTypeLoc getFunctionProtoTypeLoc () const
 Retrieve the function ProtoTypeLoc candidate. More...
 
const TemplateDeclgetTemplate () const
 
const RecordDeclgetAggregate () const
 Retrieve the aggregate type being initialized. More...
 
unsigned getNumParams () const
 Get the number of parameters in this signature. More...
 
QualType getParamType (unsigned N) const
 Get the type of the Nth parameter. More...
 
const NamedDeclgetParamDecl (unsigned N) const
 Get the declaration of the Nth parameter. More...
 
CodeCompletionStringCreateSignatureString (unsigned CurrentArg, Sema &S, CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments, bool Braced) const
 Create a new code-completion string that describes the function signature of this overload candidate. More...
 

Detailed Description

Definition at line 1014 of file CodeCompleteConsumer.h.

Member Enumeration Documentation

◆ CandidateKind

Describes the type of overload candidate.

Enumerator
CK_Function 

The candidate is a function declaration.

CK_FunctionTemplate 

The candidate is a function template, arguments are being completed.

CK_FunctionType 

The "candidate" is actually a variable, expression, or block for which we only have a function prototype.

CK_FunctionProtoTypeLoc 

The candidate is a variable or expression of function type for which we have the location of the prototype declaration.

CK_Template 

The candidate is a template, template arguments are being completed.

CK_Aggregate 

The candidate is aggregate initialization of a record type.

Definition at line 1017 of file CodeCompleteConsumer.h.

Constructor & Destructor Documentation

◆ OverloadCandidate() [1/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( FunctionDecl Function)
inline

Definition at line 1070 of file CodeCompleteConsumer.h.

References Function.

◆ OverloadCandidate() [2/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( FunctionTemplateDecl FunctionTemplateDecl)
inline

Definition at line 1075 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [3/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( const FunctionType Type)
inline

Definition at line 1080 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [4/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( FunctionProtoTypeLoc  Prototype)
inline

Definition at line 1085 of file CodeCompleteConsumer.h.

References clang::Prototype.

◆ OverloadCandidate() [5/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( const RecordDecl Aggregate)
inline

Definition at line 1090 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [6/6]

clang::CodeCompleteConsumer::OverloadCandidate::OverloadCandidate ( const TemplateDecl Template)
inline

Definition at line 1095 of file CodeCompleteConsumer.h.

Member Function Documentation

◆ CreateSignatureString()

CodeCompletionString * CodeCompleteConsumer::OverloadCandidate::CreateSignatureString ( unsigned  CurrentArg,
Sema S,
CodeCompletionAllocator Allocator,
CodeCompletionTUInfo CCTUInfo,
bool  IncludeBriefComments,
bool  Braced 
) const

Create a new code-completion string that describes the function signature of this overload candidate.

Definition at line 3907 of file SemaCodeComplete.cpp.

◆ getAggregate()

const RecordDecl* clang::CodeCompleteConsumer::OverloadCandidate::getAggregate ( ) const
inline

Retrieve the aggregate type being initialized.

Definition at line 1126 of file CodeCompleteConsumer.h.

References AggregateType, CK_Aggregate, and getKind().

Referenced by getNextAggregateIndexAfterDesignatedInit().

◆ getFunction()

FunctionDecl * CodeCompleteConsumer::OverloadCandidate::getFunction ( ) const

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

Definition at line 496 of file CodeCompleteConsumer.cpp.

References getKind().

◆ getFunctionProtoTypeLoc()

const FunctionProtoTypeLoc CodeCompleteConsumer::OverloadCandidate::getFunctionProtoTypeLoc ( ) const

Retrieve the function ProtoTypeLoc candidate.

This can be called for any Kind, but returns null for kinds other than CK_FunctionProtoTypeLoc.

Definition at line 529 of file CodeCompleteConsumer.cpp.

◆ getFunctionTemplate()

FunctionTemplateDecl* clang::CodeCompleteConsumer::OverloadCandidate::getFunctionTemplate ( ) const
inline

Retrieve the function template overload candidate.

Definition at line 1106 of file CodeCompleteConsumer.h.

References CK_FunctionTemplate, FunctionTemplate, and getKind().

◆ getFunctionType()

const FunctionType * CodeCompleteConsumer::OverloadCandidate::getFunctionType ( ) const

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

Definition at line 506 of file CodeCompleteConsumer.cpp.

References clang::Type::getAs().

◆ getKind()

CandidateKind clang::CodeCompleteConsumer::OverloadCandidate::getKind ( ) const
inline

Determine the kind of overload candidate.

Definition at line 1099 of file CodeCompleteConsumer.h.

Referenced by getAggregate(), getFunctionTemplate(), getNextAggregateIndexAfterDesignatedInit(), and getTemplate().

◆ getNumParams()

unsigned CodeCompleteConsumer::OverloadCandidate::getNumParams ( ) const

Get the number of parameters in this signature.

Definition at line 535 of file CodeCompleteConsumer.cpp.

References distance().

Referenced by getNextAggregateIndexAfterDesignatedInit().

◆ getParamDecl()

const NamedDecl * CodeCompleteConsumer::OverloadCandidate::getParamDecl ( unsigned  N) const

Get the declaration of the Nth parameter.

Returns null if the decl is unknown or N is out of range.

Definition at line 584 of file CodeCompleteConsumer.cpp.

References clang::TemplateParameterList::getParam(), and clang::CodeCompletionString::size().

Referenced by getNextAggregateIndexAfterDesignatedInit().

◆ getParamType()

QualType CodeCompleteConsumer::OverloadCandidate::getParamType ( unsigned  N) const

Get the type of the Nth parameter.

Returns null if the type is unknown or N is out of range.

Definition at line 555 of file CodeCompleteConsumer.cpp.

References clang::TemplateParameterList::getParam(), and clang::CodeCompletionString::size().

◆ getTemplate()

const TemplateDecl* clang::CodeCompleteConsumer::OverloadCandidate::getTemplate ( ) const
inline

Definition at line 1120 of file CodeCompleteConsumer.h.

References CK_Template, getKind(), and Template.

Member Data Documentation

◆ AggregateType

const RecordDecl* clang::CodeCompleteConsumer::OverloadCandidate::AggregateType

The class being aggregate-initialized, when Kind == CK_Aggregate.

Definition at line 1066 of file CodeCompleteConsumer.h.

Referenced by getAggregate().

◆ Function

FunctionDecl* clang::CodeCompleteConsumer::OverloadCandidate::Function

The function overload candidate, available when Kind == CK_Function.

Definition at line 1046 of file CodeCompleteConsumer.h.

Referenced by OverloadCandidate().

◆ FunctionTemplate

FunctionTemplateDecl* clang::CodeCompleteConsumer::OverloadCandidate::FunctionTemplate

The function template overload candidate, available when Kind == CK_FunctionTemplate.

Definition at line 1050 of file CodeCompleteConsumer.h.

Referenced by getFunctionTemplate().

◆ ProtoTypeLoc

FunctionProtoTypeLoc clang::CodeCompleteConsumer::OverloadCandidate::ProtoTypeLoc

The location of the function prototype that describes the entity being called, when Kind == CK_FunctionProtoTypeLoc.

Definition at line 1058 of file CodeCompleteConsumer.h.

◆ Template

const TemplateDecl* clang::CodeCompleteConsumer::OverloadCandidate::Template

The template overload candidate, available when Kind == CK_Template.

Definition at line 1062 of file CodeCompleteConsumer.h.

Referenced by getTemplate().

◆ Type

const FunctionType* clang::CodeCompleteConsumer::OverloadCandidate::Type

The function type that describes the entity being called, when Kind == CK_FunctionType.

Definition at line 1054 of file CodeCompleteConsumer.h.


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