clang  6.0.0svn
Classes | Namespaces | Macros | Functions
ASTTypeTraits.h File Reference
#include "clang/AST/ASTFwd.h"
#include "clang/AST/Decl.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/Stmt.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.def"
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::ast_type_traits::ASTNodeKind
 Kind identifier. More...
 
struct  clang::ast_type_traits::ASTNodeKind::DenseMapInfo
 Hooks for using ASTNodeKind as a key in a DenseMap. More...
 
class  clang::ast_type_traits::DynTypedNode
 A dynamically typed AST node container. More...
 
struct  clang::ast_type_traits::DynTypedNode::DenseMapInfo
 Hooks for using DynTypedNode as a key in a DenseMap. More...
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< T, typename std::enable_if< std::is_base_of< Decl, T >::value >::type >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< T, typename std::enable_if< std::is_base_of< Stmt, T >::value >::type >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< T, typename std::enable_if< std::is_base_of< Type, T >::value >::type >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< NestedNameSpecifier, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< CXXCtorInitializer, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< TemplateArgument, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< TemplateName, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< NestedNameSpecifierLoc, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< QualType, void >
 
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< TypeLoc, void >
 
struct  llvm::DenseMapInfo< clang::ast_type_traits::ASTNodeKind >
 
struct  llvm::DenseMapInfo< clang::ast_type_traits::DynTypedNode >
 

Namespaces

 llvm
 DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.
 
 clang
 Dataflow Directional Tag Classes.
 
 clang::ast_type_traits
 

Macros

#define DECL(DERIVED, BASE)   NKI_##DERIVED##Decl,
 
#define STMT(DERIVED, BASE)   NKI_##DERIVED,
 
#define TYPE(DERIVED, BASE)   NKI_##DERIVED##Type,
 
#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)
 

Functions

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

Macro Definition Documentation

◆ DECL [1/2]

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

Definition at line 187 of file ASTTypeTraits.h.

◆ DECL [2/2]

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

Definition at line 187 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; \
};
int Id
Definition: ASTDiff.cpp:191

Definition at line 173 of file ASTTypeTraits.h.

◆ STMT [1/2]

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

Definition at line 189 of file ASTTypeTraits.h.

◆ STMT [2/2]

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

Definition at line 189 of file ASTTypeTraits.h.

◆ TYPE [1/2]

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

Definition at line 191 of file ASTTypeTraits.h.

◆ TYPE [2/2]

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

Definition at line 191 of file ASTTypeTraits.h.