clang 20.0.0git
Macros
ASTTypeTraits.cpp File Reference
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/OpenMPClause.h"
#include "clang/AST/TypeLoc.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.

Macros

#define TYPELOC(CLASS, PARENT)   {NKI_##PARENT, #CLASS "TypeLoc"},
 
#define DECL(DERIVED, BASE)   { NKI_##BASE, #DERIVED "Decl" },
 
#define STMT(DERIVED, BASE)   { NKI_##BASE, #DERIVED },
 
#define TYPE(DERIVED, BASE)   { NKI_##BASE, #DERIVED "Type" },
 
#define GEN_CLANG_CLAUSE_CLASS
 
#define CLAUSE_CLASS(Enum, Str, Class)   {NKI_OMPClause, #Class},
 
#define ATTR(A)   {NKI_Attr, #A "Attr"},
 
#define DECL(DERIVED, BASE)    case Decl::DERIVED: return ASTNodeKind(NKI_##DERIVED##Decl);
 
#define ABSTRACT_DECL(D)
 
#define STMT(CLASS, PARENT)    case Stmt::CLASS##Class: return ASTNodeKind(NKI_##CLASS);
 
#define ABSTRACT_STMT(S)
 
#define TYPE(Class, Base)    case Type::Class: return ASTNodeKind(NKI_##Class##Type);
 
#define ABSTRACT_TYPE(Class, Base)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define GEN_CLANG_CLAUSE_CLASS
 
#define CLAUSE_CLASS(Enum, Str, Class)
 
#define CLAUSE_NO_CLASS(Enum, Str)
 
#define ATTR(A)
 

Macro Definition Documentation

◆ ABSTRACT_DECL

#define ABSTRACT_DECL (   D)

◆ ABSTRACT_STMT

#define ABSTRACT_STMT (   S)

◆ ABSTRACT_TYPE

#define ABSTRACT_TYPE (   Class,
  Base 
)

◆ ABSTRACT_TYPELOC

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

◆ ATTR [1/2]

#define ATTR (   A)    {NKI_Attr, #A "Attr"},

◆ ATTR [2/2]

#define ATTR (   A)
Value:
case attr::A: \
return ASTNodeKind(NKI_##A##Attr);
Kind identifier.
Definition: ASTTypeTraits.h:51
Attr - This represents one attribute.
Definition: Attr.h:42

◆ CLAUSE_CLASS [1/2]

#define CLAUSE_CLASS (   Enum,
  Str,
  Class 
)    {NKI_OMPClause, #Class},

◆ CLAUSE_CLASS [2/2]

#define CLAUSE_CLASS (   Enum,
  Str,
  Class 
)
Value:
case llvm::omp::Clause::Enum: \
return ASTNodeKind(NKI_##Class);

◆ CLAUSE_NO_CLASS

#define CLAUSE_NO_CLASS (   Enum,
  Str 
)
Value:
case llvm::omp::Clause::Enum: \
llvm_unreachable("unexpected OpenMP clause kind");

◆ DECL [1/2]

#define DECL (   DERIVED,
  BASE 
)    { NKI_##BASE, #DERIVED "Decl" },

◆ DECL [2/2]

#define DECL (   DERIVED,
  BASE 
)     case Decl::DERIVED: return ASTNodeKind(NKI_##DERIVED##Decl);

◆ GEN_CLANG_CLAUSE_CLASS [1/2]

#define GEN_CLANG_CLAUSE_CLASS

◆ GEN_CLANG_CLAUSE_CLASS [2/2]

#define GEN_CLANG_CLAUSE_CLASS

◆ STMT [1/2]

#define STMT (   CLASS,
  PARENT 
)     case Stmt::CLASS##Class: return ASTNodeKind(NKI_##CLASS);

◆ STMT [2/2]

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

◆ TYPE [1/2]

#define TYPE (   Class,
  Base 
)     case Type::Class: return ASTNodeKind(NKI_##Class##Type);

◆ TYPE [2/2]

#define TYPE (   DERIVED,
  BASE 
)    { NKI_##BASE, #DERIVED "Type" },

◆ TYPELOC [1/2]

#define TYPELOC (   CLASS,
  PARENT 
)    {NKI_##PARENT, #CLASS "TypeLoc"},

◆ TYPELOC [2/2]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
case TypeLoc::CLASS: \
return ASTNodeKind(NKI_##CLASS##TypeLoc);
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:59