clang  12.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
clang::comments::DeclInfo Struct Reference

Information about the declaration, useful to clients of FullComment. More...

#include "clang/AST/Comment.h"

Collaboration diagram for clang::comments::DeclInfo:
Collaboration graph
[legend]

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
 

Public Attributes

const DeclCommentDecl
 Declaration the comment is actually attached to (in the source). More...
 
const DeclCurrentDecl
 CurrentDecl is the declaration with which the FullComment is associated. More...
 
ArrayRef< const ParmVarDecl * > ParamVars
 Parameters that can be referenced by \param if CommentDecl is something that we consider a "function". More...
 
QualType ReturnType
 Function return type if CommentDecl is something that we consider a "function". More...
 
const TemplateParameterListTemplateParameters
 Template parameters that can be referenced by \tparam if CommentDecl is a template (IsTemplateDecl or IsTemplatePartialSpecialization is true). More...
 
unsigned IsFilled: 1
 If false, only CommentDecl is valid. More...
 
unsigned Kind: 3
 Simplified kind of CommentDecl, see DeclKind enum. More...
 
unsigned TemplateKind: 2
 Is CommentDecl a template declaration. More...
 
unsigned IsObjCMethod: 1
 Is CommentDecl an ObjCMethodDecl. More...
 
unsigned IsInstanceMethod: 1
 Is CommentDecl a non-static member function of C++ class or instance method of ObjC class. More...
 
unsigned IsClassMethod: 1
 Is CommentDecl a static member function of C++ class or class method of ObjC class. More...
 

Detailed Description

Information about the declaration, useful to clients of FullComment.

Definition at line 980 of file Comment.h.

Member Enumeration Documentation

◆ DeclKind

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":

  • function,
  • function template,
  • function template specialization,
  • member function,
  • member function template,
  • member function template specialization,
  • ObjC method,
  • a typedef for a function pointer, member function pointer, ObjC block.
ClassKind 

Something that we consider a "class":

  • class/struct,
  • class template,
  • class template (partial) specialization.
VariableKind 

Something that we consider a "variable":

  • namespace scope variables;
  • static and non-static class data members;
  • enumerators.
NamespaceKind 

A C++ namespace.

TypedefKind 

A C++ typedef-name (a 'typedef' decl specifier or alias-declaration), see TypedefNameDecl.

EnumKind 

An enumeration or scoped enumeration.

Definition at line 1010 of file Comment.h.

◆ TemplateDeclKind

What kind of template specialization CommentDecl is.

Enumerator
NotTemplate 
Template 
TemplateSpecialization 
TemplatePartialSpecialization 

Definition at line 1050 of file Comment.h.

Member Function Documentation

◆ fill()

void clang::comments::DeclInfo::fill ( )

◆ getKind()

DeclKind clang::comments::DeclInfo::getKind ( ) const
inline

◆ getTemplateKind()

TemplateDeclKind clang::comments::DeclInfo::getTemplateKind ( ) const
inline

Definition at line 1085 of file Comment.h.

Referenced by clang::comments::Sema::isTemplateOrSpecialization().

Member Data Documentation

◆ CommentDecl

const Decl* clang::comments::DeclInfo::CommentDecl

Declaration the comment is actually attached to (in the source).

Should not be NULL.

Definition at line 983 of file Comment.h.

Referenced by clang::comments::Sema::checkDeprecatedCommand(), clang::comments::Sema::checkReturnsCommand(), clang::ASTContext::cloneFullComment(), clang::comments::FullComment::getDecl(), and clang::comments::Sema::setDecl().

◆ CurrentDecl

const Decl* clang::comments::DeclInfo::CurrentDecl

◆ IsClassMethod

unsigned clang::comments::DeclInfo::IsClassMethod

Is CommentDecl a static member function of C++ class or class method of ObjC class.

Can be true only if IsFunctionDecl is true.

Definition at line 1077 of file Comment.h.

◆ IsFilled

unsigned clang::comments::DeclInfo::IsFilled

◆ IsInstanceMethod

unsigned clang::comments::DeclInfo::IsInstanceMethod

Is CommentDecl a non-static member function of C++ class or instance method of ObjC class.

Can be true only if IsFunctionDecl is true.

Definition at line 1072 of file Comment.h.

◆ IsObjCMethod

unsigned clang::comments::DeclInfo::IsObjCMethod

Is CommentDecl an ObjCMethodDecl.

Definition at line 1067 of file Comment.h.

Referenced by clang::comments::Sema::checkReturnsCommand().

◆ Kind

unsigned clang::comments::DeclInfo::Kind

Simplified kind of CommentDecl, see DeclKind enum.

Definition at line 1061 of file Comment.h.

◆ ParamVars

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 997 of file Comment.h.

Referenced by clang::comments::ParamCommandComment::getParamName(), and clang::comments::Sema::getParamVars().

◆ ReturnType

QualType clang::comments::DeclInfo::ReturnType

Function return type if CommentDecl is something that we consider a "function".

Definition at line 1001 of file Comment.h.

Referenced by clang::comments::Sema::checkReturnsCommand().

◆ TemplateKind

unsigned clang::comments::DeclInfo::TemplateKind

Is CommentDecl a template declaration.

Definition at line 1064 of file Comment.h.

◆ TemplateParameters

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 1006 of file Comment.h.

Referenced by clang::comments::Sema::actOnTParamCommandParamNameArg(), clang::ASTContext::cloneFullComment(), and clang::comments::TParamCommandComment::getParamName().


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