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().