12#ifndef ROOT_TMetaUtils
13#define ROOT_TMetaUtils
18#include <unordered_set>
26#if defined(__GNUC__) && !defined(__clang__)
27#pragma GCC diagnostic push
28#pragma GCC diagnostic ignored "-Wpragmas"
29#pragma GCC diagnostic ignored "-Wclass-memaccess"
32#include "clang/Basic/Module.h"
34#if defined(__GNUC__) && !defined(__clang__)
35#pragma GCC diagnostic pop
97class AnnotatedRecordDecl;
104 static const std::string
iotype(
"iotype");
105 static const std::string
name(
"name");
107 static const std::string
ioname(
"ioname");
118 const cling::Interpreter &
interp,
153 bool replace =
false);
224 const clang::RecordDecl *
decl,
236 const clang::RecordDecl *
decl,
250 const clang::RecordDecl *
decl,
264 const clang::RecordDecl *
decl,
313 default:
assert(
false &&
"invalid setting of fRequestedRNTupleSerializationMode");
319 operator clang::RecordDecl
const *()
const {
346 const clang::CXXRecordDecl *
GetType()
const;
403 const clang::QualType &
qti,
406 const cling::Interpreter &
interp,
407 const char *
tcl =
nullptr);
410bool IsBase(
const clang::CXXRecordDecl *cl,
const clang::CXXRecordDecl *base,
const clang::CXXRecordDecl *context,
const cling::Interpreter &
interp);
431bool HasNewMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
434bool HasOldMerge(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
446bool NeedDestructor(clang::CXXRecordDecl
const*,
const cling::Interpreter&);
453 const cling::Interpreter&,
bool diagnose);
516 const std::function<
void(
const clang::Module::Header &)> &
closure,
532std::string
TrueName(
const clang::FieldDecl &
m);
536 const cling::Interpreter &
gInterp,
542 const AnnotatedRecordDecl &cl,
543 const clang::CXXRecordDecl *
decl,
544 const cling::Interpreter &
interp,
553 const cling::Interpreter &
gInterp,
558 const AnnotatedRecordDecl &cl,
559 const cling::Interpreter &
interp,
567 const AnnotatedRecordDecl &cl,
568 const clang::CXXRecordDecl *
decl,
569 const cling::Interpreter &
interp,
576 const cling::Interpreter &
interp);
584 const clang::CXXRecordDecl*
clxx,
585 const cling::Interpreter &
interp,
590 const clang::CXXRecordDecl*
clxx,
591 const cling::Interpreter &
interp,
613#if defined(R__MACOSX) || defined(R__WIN32)
674llvm::StringRef
GetComment(
const clang::Decl &
decl, clang::SourceLocation *
loc =
nullptr);
739bool IsOfType(
const clang::CXXRecordDecl &cl,
const std::string&
type,
const cling::LookupHelper&
lh);
760 clang::ClassTemplateDecl*&
ctd,
761 clang::ClassTemplateSpecializationDecl*&
ctsd);
769 std::list<std::pair<std::string,bool> >&);
772 std::list<std::pair<std::string,bool> >&);
776 std::list<std::pair<std::string,unsigned int> >&
enclosingSc);
786void ReplaceAll(std::string& str,
const std::string& from,
const std::string& to,
bool recurse=
false);
818 const char *
type =
nullptr;
833 if (!location || !location[0]) {
852inline void Error(
const char *location,
const char *
fmt, ...)
872inline void Info(
const char *location,
const char *
fmt, ...)
882inline void Warning(
const char *location,
const char *
fmt, ...)
892inline void Fatal(
const char *location,
const char *
fmt, ...)
916namespace AST2SourceTools {
921 const cling::Interpreter&
interp, std::string *
logs);
951int GetDefArg(
const clang::ParmVarDecl& par, std::string&
valAsString,
const clang::PrintingPolicy& pp);
961 std::unordered_set<std::string>*
fwdDeclSet=
nullptr);
static Roo_reg_AGKInteg1D instance
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Int_t gErrorIgnoreLevel
errors with level below this value will be ignored. Default is kUnset.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type