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