clang 20.0.0git
Macros | Functions
JSONNodeDumper.cpp File Reference
#include "clang/AST/JSONNodeDumper.h"
#include "clang/AST/Type.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Lex/Lexer.h"
#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)
 

Macro Definition Documentation

◆ ABSTRACT_DECL

#define ABSTRACT_DECL (   DECL)

◆ ATTR

#define ATTR (   X)
Value:
case attr::X: \
AttrName = #X"Attr"; \
break;
#define X(type, name)
Definition: Value.h:144

◆ DECL

#define DECL (   DERIVED,
  BASE 
)
Value:
case Decl::DERIVED: \
return writePreviousDeclImpl(cast<DERIVED##Decl>(D));
const Decl * D

◆ FIELD1

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

Definition at line 411 of file JSONNodeDumper.cpp.

◆ FIELD2

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

Definition at line 410 of file JSONNodeDumper.cpp.

◆ 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
Definition: HTMLLogger.cpp:146

Function Documentation

◆ createCopyAssignmentDefinitionData()

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

Definition at line 464 of file JSONNodeDumper.cpp.

References FIELD2.

◆ createCopyConstructorDefinitionData()

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

◆ createDefaultConstructorDefinitionData()

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

Definition at line 414 of file JSONNodeDumper.cpp.

References FIELD2.

◆ createDestructorDefinitionData()

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

◆ createMoveAssignmentDefinitionData()

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

Definition at line 480 of file JSONNodeDumper.cpp.

References FIELD2.

◆ createMoveConstructorDefinitionData()

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