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

#include "clang/Sema/CodeCompleteConsumer.h"

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.
 
FunctionDeclgetFunction () const
 Retrieve the function overload candidate or the templated function declaration for a function template.
 
FunctionTemplateDeclgetFunctionTemplate () const
 Retrieve the function template overload candidate.
 
const FunctionTypegetFunctionType () const
 Retrieve the function type of the entity, regardless of how the function is stored.
 
const FunctionProtoTypeLoc getFunctionProtoTypeLoc () const
 Retrieve the function ProtoTypeLoc candidate.
 
const TemplateDeclgetTemplate () const
 
const RecordDeclgetAggregate () const
 Retrieve the aggregate type being initialized.
 
unsigned getNumParams () const
 Get the number of parameters in this signature.
 
QualType getParamType (unsigned N) const
 Get the type of the Nth parameter.
 
const NamedDeclgetParamDecl (unsigned N) const
 Get the declaration of the Nth parameter.
 
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.
 

Detailed Description

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

Constructor & Destructor Documentation

◆ OverloadCandidate() [1/6]

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

Definition at line 1079 of file CodeCompleteConsumer.h.

References Function.

◆ OverloadCandidate() [2/6]

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

Definition at line 1084 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [3/6]

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

Definition at line 1089 of file CodeCompleteConsumer.h.

◆ OverloadCandidate() [4/6]

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

Definition at line 1094 of file CodeCompleteConsumer.h.

References clang::Prototype.

◆ OverloadCandidate() [5/6]

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

Definition at line 1099 of file CodeCompleteConsumer.h.

References clang::Aggregate.

◆ OverloadCandidate() [6/6]

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

Definition at line 1104 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

◆ getAggregate()

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

Retrieve the aggregate type being initialized.

Definition at line 1135 of file CodeCompleteConsumer.h.

References AggregateType, CK_Aggregate, and getKind().

Referenced by CreateSignatureString().

◆ getFunction()

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

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

Definition at line 498 of file CodeCompleteConsumer.cpp.

References clang::Function, and getKind().

Referenced by CreateSignatureString().

◆ 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 531 of file CodeCompleteConsumer.cpp.

Referenced by CreateSignatureString().

◆ getFunctionTemplate()

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

Retrieve the function template overload candidate.

Definition at line 1115 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 508 of file CodeCompleteConsumer.cpp.

References clang::Function, and clang::Type::getAs().

Referenced by CreateSignatureString().

◆ getKind()

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

Determine the kind of overload candidate.

Definition at line 1108 of file CodeCompleteConsumer.h.

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

◆ getNumParams()

unsigned CodeCompleteConsumer::OverloadCandidate::getNumParams ( ) const

Get the number of parameters in this signature.

Definition at line 537 of file CodeCompleteConsumer.cpp.

Referenced by clang::SemaCodeCompletion::ProduceConstructorSignatureHelp().

◆ 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 586 of file CodeCompleteConsumer.cpp.

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

◆ 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 557 of file CodeCompleteConsumer.cpp.

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

◆ getTemplate()

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

Definition at line 1129 of file CodeCompleteConsumer.h.

References CK_Template, getKind(), and Template.

Referenced by CreateSignatureString().

Member Data Documentation

◆ AggregateType

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

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

Definition at line 1075 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 1055 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 1059 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 1067 of file CodeCompleteConsumer.h.

◆ Template

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

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

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


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