#include "clang/AST/DeclNodes.inc" #include "clang/Basic/AttrList.inc" #include "clang/Basic/TransformTypeTraits.def" #include "clang/Basic/FPOptions.def"">

clang: lib/AST/JSONNodeDumper.cpp File Reference (original) (raw)

#include "[clang/AST/JSONNodeDumper.h](JSONNodeDumper%5F8h%5Fsource.html)"
#include "[clang/AST/Type.h](Type%5F8h%5Fsource.html)"
#include "[clang/Basic/SourceManager.h](SourceManager%5F8h%5Fsource.html)"
#include "[clang/Basic/Specifiers.h](Specifiers%5F8h%5Fsource.html)"
#include "[clang/Lex/Lexer.h](Lexer%5F8h%5Fsource.html)"
#include "llvm/ADT/StringExtras.h"
#include <optional>
#include "clang/AST/DeclNodes.inc"
#include "clang/Basic/AttrList.inc"
#include "clang/Basic/TransformTypeTraits.def"
#include "clang/Basic/FPOptions.def"

Go to the source code of this file.

Macros
#define DECL(DERIVED, BASE)
#define ABSTRACT_DECL(DECL)
#define ATTR(X)
#define FIELD2(Name, Flag) if (RD->Flag()) Ret[Name] = true
#define FIELD1(Flag) FIELD2(#Flag, Flag)
#define TRANSFORM_TYPE_TRAIT_DEF(Enum, Trait)
#define OPTION(NAME, TYPE, WIDTH, PREVIOUS)
Functions
static llvm::json::Object createDefaultConstructorDefinitionData (const CXXRecordDecl *RD)
static llvm::json::Object createCopyConstructorDefinitionData (const CXXRecordDecl *RD)
static llvm::json::Object createMoveConstructorDefinitionData (const CXXRecordDecl *RD)
static llvm::json::Object createCopyAssignmentDefinitionData (const CXXRecordDecl *RD)
static llvm::json::Object createMoveAssignmentDefinitionData (const CXXRecordDecl *RD)
static llvm::json::Object createDestructorDefinitionData (const CXXRecordDecl *RD)

ABSTRACT_DECL

| #define ABSTRACT_DECL | ( | | DECL | ) | | ---------------------- | - | | ---------------------------------------------------------- | - |

ATTR

Value:

case attr::X: \

AttrName = #X"Attr"; \

break;

DECL

| #define DECL | ( | | DERIVED, | | ------------ | - | | -------- | | | BASE | | | | | ) | | | |

Value:

case Decl::DERIVED: \

return writePreviousDeclImpl(cast<DERIVED##Decl>(D));

FIELD1

| #define FIELD1 | ( | | Flag | ) | FIELD2(#Flag, Flag) | | -------------- | - | | ---- | - | ----------------------------------------------------------------------------------- |

FIELD2

| #define FIELD2 | ( | | Name, | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----- | | | Flag | | | | | ) | if (RD->Flag()) Ret[Name] = true | | |

OPTION

| #define OPTION | ( | | NAME, | | -------------------------------------------------------------- | - | | ----- | | | TYPE, | | | | | | WIDTH, | | | | | | PREVIOUS | | | | | ) | | | |

Value:

if (FPO.has##NAME##Override()) \

Ret.try_emplace(#NAME, static_cast<unsigned>(FPO.get##NAME##Override()));

TRANSFORM_TYPE_TRAIT_DEF

| #define TRANSFORM_TYPE_TRAIT_DEF | ( | | Enum, | | ----------------------------------- | - | | ----------------------------------------------------------------------------------------------------- | | | Trait | | | | | ) | | | |

Value:

case UnaryTransformType::Enum: \

JOS.attribute("transformKind", #Trait); \

break;

llvm::json::OStream & JOS

createCopyAssignmentDefinitionData()

static llvm::json::Object createCopyAssignmentDefinitionData ( const CXXRecordDecl * RD) static

createCopyConstructorDefinitionData()

static llvm::json::Object createCopyConstructorDefinitionData ( const CXXRecordDecl * RD) static

createDefaultConstructorDefinitionData()

static llvm::json::Object createDefaultConstructorDefinitionData ( const CXXRecordDecl * RD) static

createDestructorDefinitionData()

static llvm::json::Object createDestructorDefinitionData ( const CXXRecordDecl * RD) static

createMoveAssignmentDefinitionData()

static llvm::json::Object createMoveAssignmentDefinitionData ( const CXXRecordDecl * RD) static

createMoveConstructorDefinitionData()

static llvm::json::Object createMoveConstructorDefinitionData ( const CXXRecordDecl * RD) static