clang API Documentation
Information about the declaration, useful to clients of FullComment. More...
#include <Comment.h>
Public Types | |
enum | DeclKind { OtherKind, FunctionKind, ClassKind, VariableKind, NamespaceKind, TypedefKind, EnumKind } |
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 |
Public Attributes | |
const Decl * | CommentDecl |
const Decl * | CurrentDecl |
ArrayRef< const ParmVarDecl * > | ParamVars |
QualType | ReturnType |
const TemplateParameterList * | TemplateParameters |
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 |
unsigned | IsClassMethod: 1 |
Information about the declaration, useful to clients of FullComment.
A simplified description of CommentDecl
kind that should be good enough for documentation rendering purposes.
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 129 of file Comment.cpp.
References ClassKind, CommentDecl, CurrentDecl, EnumKind, FunctionKind, clang::TemplateArgumentLoc::getArgument(), clang::TypeLoc::getAs(), clang::TemplateArgument::getKind(), clang::Decl::getKind(), clang::FunctionDecl::getNumParams(), clang::DeclaratorDecl::getNumTemplateParameterLists(), clang::ObjCMethodDecl::getReturnType(), clang::FunctionDecl::getReturnType(), clang::FunctionTemplateDecl::getTemplatedDecl(), clang::DeclaratorDecl::getTemplateParameterList(), clang::TemplateDecl::getTemplateParameters(), clang::ClassTemplatePartialSpecializationDecl::getTemplateParameters(), clang::TypeSourceInfo::getTypeLoc(), clang::TemplateArgumentLoc::getTypeSourceInfo(), clang::TypedefNameDecl::getTypeSourceInfo(), clang::TypeLoc::getUnqualifiedLoc(), clang::TypeLoc::IgnoreParens(), IsClassMethod, IsFilled, clang::CXXMethodDecl::isInstance(), clang::ObjCMethodDecl::isInstanceMethod(), IsInstanceMethod, IsObjCMethod, NamespaceKind, NotTemplate, OtherKind, clang::ObjCMethodDecl::param_begin(), clang::FunctionDecl::param_begin(), clang::ObjCMethodDecl::param_size(), ParamVars, Record, ReturnType, Template, TemplateKind, TemplateParameters, TemplatePartialSpecialization, TemplateSpecialization, clang::TemplateArgument::Type, TypedefKind, and VariableKind.
Referenced by clang::ASTContext::cloneFullComment(), clang::comments::FullComment::getDeclInfo(), and clang::comments::Sema::inspectThisDecl().
DeclKind clang::comments::DeclInfo::getKind | ( | ) | const [inline] |
Definition at line 1087 of file Comment.h.
References Kind.
Referenced by clang::comments::Sema::isFunctionDecl(), and clang::comments::Sema::isFunctionPointerVarDecl().
TemplateDeclKind clang::comments::DeclInfo::getTemplateKind | ( | ) | const [inline] |
Definition at line 1091 of file Comment.h.
References TemplateKind.
Referenced by clang::comments::Sema::isTemplateOrSpecialization().
Declaration the comment is actually attached to (in the source). Should not be NULL.
Definition at line 989 of file Comment.h.
Referenced by clang::comments::Sema::checkDeprecatedCommand(), clang::comments::Sema::checkReturnsCommand(), clang::ASTContext::cloneFullComment(), fill(), clang::comments::FullComment::getDecl(), and clang::comments::Sema::setDecl().
CurrentDecl is the declaration with which the FullComment is associated.
It can be different from CommentDecl
. It happens when we 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 999 of file Comment.h.
Referenced by fill(), clang::comments::Sema::isAnyFunctionDecl(), clang::comments::Sema::isClassOrStructDecl(), clang::comments::Sema::isClassTemplateDecl(), clang::comments::Sema::isFunctionOrMethodVariadic(), clang::comments::Sema::isFunctionPointerVarDecl(), clang::comments::Sema::isFunctionTemplateDecl(), clang::comments::Sema::isObjCInterfaceDecl(), clang::comments::Sema::isObjCMethodDecl(), clang::comments::Sema::isObjCPropertyDecl(), clang::comments::Sema::isObjCProtocolDecl(), and clang::comments::Sema::isUnionDecl().
If false, only CommentDecl
is valid.
Definition at line 1064 of file Comment.h.
Referenced by clang::ASTContext::cloneFullComment(), fill(), clang::comments::FullComment::getDeclInfo(), clang::comments::Sema::getParamVars(), clang::comments::Sema::isClassOrStructDecl(), clang::comments::Sema::isClassTemplateDecl(), clang::comments::Sema::isFunctionDecl(), clang::comments::Sema::isFunctionPointerVarDecl(), clang::comments::Sema::isFunctionTemplateDecl(), clang::comments::Sema::isObjCInterfaceDecl(), clang::comments::Sema::isObjCPropertyDecl(), clang::comments::Sema::isObjCProtocolDecl(), clang::comments::Sema::isRecordLikeDecl(), clang::comments::Sema::isTemplateOrSpecialization(), clang::comments::Sema::isUnionDecl(), and clang::comments::Sema::setDecl().
Is CommentDecl
an ObjCMethodDecl.
Definition at line 1073 of file Comment.h.
Referenced by clang::comments::Sema::checkReturnsCommand(), and fill().
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 1003 of file Comment.h.
Referenced by fill(), clang::comments::ParamCommandComment::getParamName(), and clang::comments::Sema::getParamVars().
Function return type if CommentDecl
is something that we consider a "function".
Definition at line 1007 of file Comment.h.
Referenced by clang::comments::Sema::checkReturnsCommand(), and fill().
Is CommentDecl
a template declaration.
Definition at line 1070 of file Comment.h.
Referenced by fill(), and getTemplateKind().
Template parameters that can be referenced by \tparam if CommentDecl
is a template (IsTemplateDecl
or IsTemplatePartialSpecialization
is true).
Definition at line 1012 of file Comment.h.
Referenced by clang::comments::Sema::actOnTParamCommandParamNameArg(), clang::ASTContext::cloneFullComment(), fill(), and clang::comments::TParamCommandComment::getParamName().