clang  15.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_Template,
  CK_Aggregate
}
 Describes the type of overload candidate. More...
 

Public Member Functions

 OverloadCandidate (FunctionDecl *Function)
 
 OverloadCandidate (FunctionTemplateDecl *FunctionTemplateDecl)
 
 OverloadCandidate (const FunctionType *Type)
 
 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 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 1008 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_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 1011 of file CodeCompleteConsumer.h.

Constructor & Destructor Documentation

◆ OverloadCandidate() [1/5]

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

Definition at line 1056 of file CodeCompleteConsumer.h.

References Function.

◆ OverloadCandidate() [2/5]

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

Definition at line 1061 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [3/5]

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

Definition at line 1066 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [4/5]

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

Definition at line 1071 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [5/5]

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

Definition at line 1076 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 3870 of file SemaCodeComplete.cpp.

◆ getAggregate()

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

Retrieve the aggregate type being initialized.

Definition at line 1102 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().

◆ getFunctionTemplate()

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

Retrieve the function template overload candidate.

Definition at line 1087 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 1080 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 527 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 576 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 547 of file CodeCompleteConsumer.cpp.

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

◆ getTemplate()

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

Definition at line 1096 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 1052 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 1036 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 1040 of file CodeCompleteConsumer.h.

Referenced by getFunctionTemplate().

◆ Template

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

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

Definition at line 1048 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 1044 of file CodeCompleteConsumer.h.


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