clang 19.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
ASTTypeTraits.h File Reference
#include "clang/AST/ASTFwd.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/LambdaCapture.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/TypeLocNodes.def"
#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"

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< LambdaCapture, void >
 
struct  clang::DynTypedNode::BaseConverter< TemplateName, void >
 
struct  clang::DynTypedNode::BaseConverter< NestedNameSpecifierLoc, void >
 
struct  clang::DynTypedNode::BaseConverter< QualType, void >
 
struct  clang::DynTypedNode::BaseConverter< T, std::enable_if_t< std::is_base_of< TypeLoc, T >::value > >
 
struct  clang::DynTypedNode::BaseConverter< CXXBaseSpecifier, void >
 
struct  clang::DynTypedNode::BaseConverter< ObjCProtocolLoc, void >
 
struct  clang::DynTypedNode::BaseConverter< ConceptReference, void >
 
struct  llvm::DenseMapInfo< clang::ASTNodeKind >
 
struct  llvm::DenseMapInfo< clang::DynTypedNode >
 

Namespaces

namespace  llvm
 YAML serialization mapping.
 
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 

Macros

#define TYPELOC(CLASS, PARENT)   NKI_##CLASS##TypeLoc,
 
#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 TYPELOC(CLASS, PARENT)   KIND_TO_KIND_ID(CLASS##TypeLoc)
 
#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 236 of file ASTTypeTraits.h.

◆ ATTR [2/2]

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

Definition at line 236 of file ASTTypeTraits.h.

◆ CLAUSE_CLASS [1/2]

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

Definition at line 234 of file ASTTypeTraits.h.

◆ CLAUSE_CLASS [2/2]

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

Definition at line 234 of file ASTTypeTraits.h.

◆ DECL [1/2]

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

Definition at line 227 of file ASTTypeTraits.h.

◆ DECL [2/2]

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

Definition at line 227 of file ASTTypeTraits.h.

◆ GEN_CLANG_CLAUSE_CLASS [1/2]

#define GEN_CLANG_CLAUSE_CLASS

Definition at line 233 of file ASTTypeTraits.h.

◆ GEN_CLANG_CLAUSE_CLASS [2/2]

#define GEN_CLANG_CLAUSE_CLASS

Definition at line 233 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:190

Definition at line 204 of file ASTTypeTraits.h.

◆ STMT [1/2]

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

Definition at line 229 of file ASTTypeTraits.h.

◆ STMT [2/2]

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

Definition at line 229 of file ASTTypeTraits.h.

◆ TYPE [1/2]

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

Definition at line 231 of file ASTTypeTraits.h.

◆ TYPE [2/2]

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

Definition at line 231 of file ASTTypeTraits.h.

◆ TYPELOC [1/2]

#define TYPELOC (   CLASS,
  PARENT 
)    NKI_##CLASS##TypeLoc,

Definition at line 216 of file ASTTypeTraits.h.

◆ TYPELOC [2/2]

#define TYPELOC (   CLASS,
  PARENT 
)    KIND_TO_KIND_ID(CLASS##TypeLoc)

Definition at line 216 of file ASTTypeTraits.h.