clang  14.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
ASTTypeTraits.h File Reference
#include "clang/AST/ASTFwd.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TypeLoc.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Support/AlignOf.h"
#include "clang/AST/DeclNodes.inc"
#include "clang/AST/StmtNodes.inc"
#include "clang/AST/TypeNodes.inc"
#include "llvm/Frontend/OpenMP/OMP.inc"
#include "clang/Basic/AttrList.inc"
Include dependency graph for ASTTypeTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::ASTNodeKind
 Kind identifier. More...
 
struct  clang::ASTNodeKind::DenseMapInfo
 Hooks for using ASTNodeKind as a key in a DenseMap. More...
 
class  clang::DynTypedNode
 A dynamically typed AST node container. More...
 
struct  clang::DynTypedNode::DenseMapInfo
 Hooks for using DynTypedNode as a key in a DenseMap. More...
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< Decl, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< Stmt, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< Type, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< OMPClause, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< Attr, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< NestedNameSpecifier, void >
 
struct  clang::DynTypedNode::BaseConverter< CXXCtorInitializer, void >
 
struct  clang::DynTypedNode::BaseConverter< TemplateArgument, void >
 
struct  clang::DynTypedNode::BaseConverter< TemplateArgumentLoc, void >
 
struct  clang::DynTypedNode::BaseConverter< TemplateName, void >
 
struct  clang::DynTypedNode::BaseConverter< NestedNameSpecifierLoc, void >
 
struct  clang::DynTypedNode::BaseConverter< QualType, void >
 
struct  clang::DynTypedNode::BaseConverter< TypeLoc, void >
 
struct  clang::DynTypedNode::BaseConverter< CXXBaseSpecifier, void >
 
struct  llvm::DenseMapInfo< clang::ASTNodeKind >
 
struct  llvm::DenseMapInfo< clang::DynTypedNode >
 

Namespaces

 llvm
 
 clang
 

Macros

#define DECL(DERIVED, BASE)   NKI_##DERIVED##Decl,
 
#define STMT(DERIVED, BASE)   NKI_##DERIVED,
 
#define TYPE(DERIVED, BASE)   NKI_##DERIVED##Type,
 
#define GEN_CLANG_CLAUSE_CLASS
 
#define CLAUSE_CLASS(Enum, Str, Class)   NKI_##Class,
 
#define ATTR(A)   NKI_##A##Attr,
 
#define KIND_TO_KIND_ID(Class)
 
#define DECL(DERIVED, BASE)   KIND_TO_KIND_ID(DERIVED##Decl)
 
#define STMT(DERIVED, BASE)   KIND_TO_KIND_ID(DERIVED)
 
#define TYPE(DERIVED, BASE)   KIND_TO_KIND_ID(DERIVED##Type)
 
#define GEN_CLANG_CLAUSE_CLASS
 
#define CLAUSE_CLASS(Enum, Str, Class)   KIND_TO_KIND_ID(Class)
 
#define ATTR(A)   KIND_TO_KIND_ID(A##Attr)
 

Enumerations

enum  clang::TraversalKind { clang::TK_AsIs, clang::TK_IgnoreUnlessSpelledInSource }
 Defines how we descend a level in the AST when we pass through expressions. More...
 

Functions

raw_ostream & clang::operator<< (raw_ostream &OS, ASTNodeKind K)
 

Macro Definition Documentation

◆ ATTR [1/2]

#define ATTR (   A)    NKI_##A##Attr,

Definition at line 217 of file ASTTypeTraits.h.

◆ ATTR [2/2]

#define ATTR (   A)    KIND_TO_KIND_ID(A##Attr)

Definition at line 217 of file ASTTypeTraits.h.

◆ CLAUSE_CLASS [1/2]

#define CLAUSE_CLASS (   Enum,
  Str,
  Class 
)    NKI_##Class,

Definition at line 215 of file ASTTypeTraits.h.

◆ CLAUSE_CLASS [2/2]

#define CLAUSE_CLASS (   Enum,
  Str,
  Class 
)    KIND_TO_KIND_ID(Class)

Definition at line 215 of file ASTTypeTraits.h.

◆ DECL [1/2]

#define DECL (   DERIVED,
  BASE 
)    NKI_##DERIVED##Decl,

Definition at line 208 of file ASTTypeTraits.h.

◆ DECL [2/2]

#define DECL (   DERIVED,
  BASE 
)    KIND_TO_KIND_ID(DERIVED##Decl)

Definition at line 208 of file ASTTypeTraits.h.

◆ GEN_CLANG_CLAUSE_CLASS [1/2]

#define GEN_CLANG_CLAUSE_CLASS

Definition at line 214 of file ASTTypeTraits.h.

◆ GEN_CLANG_CLAUSE_CLASS [2/2]

#define GEN_CLANG_CLAUSE_CLASS

Definition at line 214 of file ASTTypeTraits.h.

◆ KIND_TO_KIND_ID

#define KIND_TO_KIND_ID (   Class)
Value:
template <> struct ASTNodeKind::KindToKindId<Class> { \
static const NodeKindId Id = NKI_##Class; \
};

Definition at line 190 of file ASTTypeTraits.h.

◆ STMT [1/2]

#define STMT (   DERIVED,
  BASE 
)    NKI_##DERIVED,

Definition at line 210 of file ASTTypeTraits.h.

◆ STMT [2/2]

#define STMT (   DERIVED,
  BASE 
)    KIND_TO_KIND_ID(DERIVED)

Definition at line 210 of file ASTTypeTraits.h.

◆ TYPE [1/2]

#define TYPE (   DERIVED,
  BASE 
)    NKI_##DERIVED##Type,

Definition at line 212 of file ASTTypeTraits.h.

◆ TYPE [2/2]

#define TYPE (   DERIVED,
  BASE 
)    KIND_TO_KIND_ID(DERIVED##Type)

Definition at line 212 of file ASTTypeTraits.h.

clang::index::SymbolKind::Class
@ Class
Id
int Id
Definition: ASTDiff.cpp:191