clang 20.0.0git
|
Information about the declaration, useful to clients of FullComment. More...
#include "clang/AST/Comment.h"
Public Types | |
enum | DeclKind { OtherKind , FunctionKind , ClassKind , VariableKind , NamespaceKind , TypedefKind , EnumKind } |
A simplified description of CommentDecl kind that should be good enough for documentation rendering purposes. More... | |
enum | TemplateDeclKind { NotTemplate , Template , TemplateSpecialization , TemplatePartialSpecialization } |
What kind of template specialization CommentDecl is. More... | |
Public Member Functions | |
void | fill () |
DeclKind | getKind () const LLVM_READONLY |
TemplateDeclKind | getTemplateKind () const LLVM_READONLY |
bool | involvesFunctionType () const |
Public Attributes | |
const Decl * | CommentDecl |
Declaration the comment is actually attached to (in the source). | |
const Decl * | CurrentDecl |
CurrentDecl is the declaration with which the FullComment is associated. | |
ArrayRef< const ParmVarDecl * > | ParamVars |
Parameters that can be referenced by \param if CommentDecl is something that we consider a "function". | |
QualType | ReturnType |
Function return type if CommentDecl is something that we consider a "function". | |
const TemplateParameterList * | TemplateParameters |
Template parameters that can be referenced by \tparam if CommentDecl is a template (IsTemplateDecl or IsTemplatePartialSpecialization is true). | |
unsigned | IsFilled: 1 |
If false, only CommentDecl is valid. | |
unsigned | Kind: 3 |
Simplified kind of CommentDecl , see DeclKind enum. | |
unsigned | TemplateKind: 2 |
Is CommentDecl a template declaration. | |
unsigned | IsObjCMethod: 1 |
Is CommentDecl an ObjCMethodDecl. | |
unsigned | IsInstanceMethod: 1 |
Is CommentDecl a non-static member function of C++ class or instance method of ObjC class. | |
unsigned | IsClassMethod: 1 |
Is CommentDecl a static member function of C++ class or class method of ObjC class. | |
unsigned | IsVariadic: 1 |
Is CommentDecl something we consider a "function" that's variadic. | |
Information about the declaration, useful to clients of FullComment.
A simplified description of CommentDecl
kind that should be good enough for documentation rendering purposes.
Enumerator | |
---|---|
OtherKind | Everything else not explicitly mentioned below. |
FunctionKind | Something that we consider a "function":
|
ClassKind | Something that we consider a "class":
|
VariableKind | Something that we consider a "variable":
|
NamespaceKind | A C++ namespace. |
TypedefKind | A C++ typedef-name (a 'typedef' decl specifier or alias-declaration), see |
EnumKind | An enumeration or scoped enumeration. |
void clang::comments::DeclInfo::fill | ( | ) |
Definition at line 203 of file Comment.cpp.
References ClassKind, CommentDecl, CurrentDecl, EnumKind, FunctionKind, clang::comments::getFunctionTypeLoc(), clang::Decl::getKind(), clang::DeclaratorDecl::getNumTemplateParameterLists(), clang::FunctionTypeLoc::getParams(), clang::FunctionTypeLoc::getReturnLoc(), clang::FunctionDecl::getReturnType(), clang::ObjCMethodDecl::getReturnType(), clang::FunctionTemplateDecl::getTemplatedDecl(), clang::TypeAliasTemplateDecl::getTemplatedDecl(), clang::VarTemplateDecl::getTemplatedDecl(), clang::DeclaratorDecl::getTemplateParameterList(), clang::TemplateDecl::getTemplateParameters(), clang::ClassTemplatePartialSpecializationDecl::getTemplateParameters(), clang::TypeLoc::getType(), clang::TypeSourceInfo::getTypeLoc(), clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::getTypePtr(), clang::TypeLoc::getUnqualifiedLoc(), involvesFunctionType(), IsClassMethod, IsFilled, clang::CXXMethodDecl::isInstance(), IsInstanceMethod, clang::ObjCMethodDecl::isInstanceMethod(), IsObjCMethod, IsVariadic, clang::FunctionDecl::isVariadic(), clang::ObjCMethodDecl::isVariadic(), Kind, NamespaceKind, NotTemplate, OtherKind, clang::FunctionDecl::parameters(), clang::ObjCMethodDecl::parameters(), ParamVars, ReturnType, Template, TemplateKind, TemplateParameters, TemplatePartialSpecialization, TemplateSpecialization, TypedefKind, and VariableKind.
Referenced by clang::comments::FullComment::getDeclInfo().
|
inline |
|
inline |
Definition at line 1075 of file Comment.h.
References TemplateKind.
|
inline |
Definition at line 1079 of file Comment.h.
References clang::QualType::isNull(), and ReturnType.
Referenced by fill().
const Decl* clang::comments::DeclInfo::CommentDecl |
Declaration the comment is actually attached to (in the source).
Should not be NULL.
Definition at line 965 of file Comment.h.
Referenced by clang::ASTContext::cloneFullComment(), fill(), clang::comments::FullComment::getDecl(), and clang::comments::Sema::setDecl().
const Decl* clang::comments::DeclInfo::CurrentDecl |
CurrentDecl is the declaration with which the FullComment is associated.
It can be different from CommentDecl
. It happens when we decide that the comment originally attached to CommentDecl
is fine for CurrentDecl
too (for example, for a redeclaration or an overrider of CommentDecl
).
The information in the DeclInfo corresponds to CurrentDecl.
Definition at line 975 of file Comment.h.
Referenced by fill().
unsigned clang::comments::DeclInfo::IsClassMethod |
unsigned clang::comments::DeclInfo::IsFilled |
If false, only CommentDecl
is valid.
Definition at line 1039 of file Comment.h.
Referenced by fill(), clang::comments::FullComment::getDeclInfo(), and clang::comments::Sema::setDecl().
unsigned clang::comments::DeclInfo::IsInstanceMethod |
unsigned clang::comments::DeclInfo::IsObjCMethod |
unsigned clang::comments::DeclInfo::IsVariadic |
unsigned clang::comments::DeclInfo::Kind |
ArrayRef<const ParmVarDecl *> clang::comments::DeclInfo::ParamVars |
Parameters that can be referenced by \param if CommentDecl
is something that we consider a "function".
Definition at line 979 of file Comment.h.
Referenced by fill(), and clang::comments::ParamCommandComment::getParamName().
QualType clang::comments::DeclInfo::ReturnType |
Function return type if CommentDecl
is something that we consider a "function".
Definition at line 983 of file Comment.h.
Referenced by fill(), and involvesFunctionType().
unsigned clang::comments::DeclInfo::TemplateKind |
Is CommentDecl
a template declaration.
Definition at line 1047 of file Comment.h.
Referenced by fill(), and getTemplateKind().
const TemplateParameterList* clang::comments::DeclInfo::TemplateParameters |
Template parameters that can be referenced by \tparam if CommentDecl
is a template (IsTemplateDecl
or IsTemplatePartialSpecialization
is true).
Definition at line 988 of file Comment.h.
Referenced by clang::comments::Sema::actOnTParamCommandParamNameArg(), clang::ASTContext::cloneFullComment(), fill(), and clang::comments::TParamCommandComment::getParamName().