clang API Documentation

Classes | Namespaces | Defines | 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/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::KindToKindId< T >
 Helper meta-function to convert a kind T to its enum value.
struct  clang::ast_type_traits::ASTNodeKind::KindInfo
 Per kind info.
class  clang::ast_type_traits::DynTypedNode
 A dynamically typed AST node container. More...
struct  clang::ast_type_traits::DynTypedNode::DynCastPtrConverter< T, BaseT >
 Converter that uses dyn_cast<T> from a stored BaseT*.
struct  clang::ast_type_traits::DynTypedNode::PtrConverter< T >
 Converter that stores T* (by pointer).
struct  clang::ast_type_traits::DynTypedNode::ValueConverter< T >
 Converter that stores T (by value).
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< NestedNameSpecifierLoc, void >
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< QualType, void >
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< TypeLoc, void >
struct  clang::ast_type_traits::DynTypedNode::BaseConverter< T, EnablerT >

Namespaces

namespace  llvm
namespace  clang
namespace  clang::ast_type_traits

Defines

#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)

Define Documentation

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

Definition at line 158 of file ASTTypeTraits.h.

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

Definition at line 158 of file ASTTypeTraits.h.

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

Definition at line 145 of file ASTTypeTraits.h.

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

Definition at line 160 of file ASTTypeTraits.h.

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

Definition at line 160 of file ASTTypeTraits.h.

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

Definition at line 162 of file ASTTypeTraits.h.

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

Definition at line 162 of file ASTTypeTraits.h.