Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TClingUtils.cxx File Reference

Classes

class  ROOT::TMetaUtils::TNormalizedCtxtImpl

Namespaces

namespace  ROOT
namespace  ROOT::TMetaUtils

Typedefs

using TNCtxtFullQual = ROOT::TMetaUtils::TNormalizedCtxtImpl

Functions

static bool areEqualTypes (const clang::TemplateArgument &tArg, llvm::SmallVectorImpl< clang::TemplateArgument > &preceedingTArgs, const clang::NamedDecl &tPar, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
static bool areEqualValues (const clang::TemplateArgument &tArg, const clang::NamedDecl &tPar)
 std::cout << "Are equal values?\n";
static void CreateNameTypeMap (const clang::CXXRecordDecl &cl, ROOT::MembersTypeMap_t &nameType)
 Create the data member name-type map for given class.
int dumpDeclForAssert (const clang::Decl &D, const char *commentStart)
const clang::DeclContext * GetEnclosingSpace (const clang::RecordDecl &cl)
static clang::SourceLocation getFinalSpellingLoc (clang::SourceManager &sourceManager, clang::SourceLocation sourceLoc)
const clang::CXXMethodDecl * GetMethodWithProto (const clang::Decl *cinfo, const char *method, const char *proto, const cling::Interpreter &interp, bool diagnose)
std::string ROOT::TMetaUtils::GetRealPath (const std::string &path)
static bool hasSomeTypedefSomewhere (const clang::Type *T)
bool IsTemplate (const clang::Decl &cl)
static bool isTypeWithDefault (const clang::NamedDecl *nDecl)
 Check if this NamedDecl is a template parameter with a default argument.
static void KeepNParams (clang::QualType &normalizedType, const clang::QualType &vanillaType, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
 This function allows to manipulate the number of arguments in the type of a template specialisation.
static bool RecurseKeepNParams (clang::TemplateArgument &normTArg, const clang::TemplateArgument &tArg, const cling::Interpreter &interp, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt, const clang::ASTContext &astCtxt)
static void replaceEnvVars (const char *varname, std::string &txt)
 Reimplementation of TSystem::ExpandPathName() that cannot be used from TMetaUtils.
static int TreatSingleTemplateArg (const clang::TemplateArgument &arg, std::string &argFwdDecl, const cling::Interpreter &interpreter, bool acceptStl=false)

Typedef Documentation

◆ TNCtxtFullQual

Function Documentation

◆ areEqualTypes()

bool areEqualTypes ( const clang::TemplateArgument & tArg,
llvm::SmallVectorImpl< clang::TemplateArgument > & preceedingTArgs,
const clang::NamedDecl & tPar,
const cling::Interpreter & interp,
const ROOT::TMetaUtils::TNormalizedCtxt & normCtxt )
static

Definition at line 3751 of file TClingUtils.cxx.

◆ areEqualValues()

bool areEqualValues ( const clang::TemplateArgument & tArg,
const clang::NamedDecl & tPar )
static

std::cout << "Are equal values?\n";

Definition at line 3853 of file TClingUtils.cxx.

◆ CreateNameTypeMap()

void CreateNameTypeMap ( const clang::CXXRecordDecl & cl,
ROOT::MembersTypeMap_t & nameType )
static

Create the data member name-type map for given class.

Definition at line 1500 of file TClingUtils.cxx.

◆ dumpDeclForAssert()

int dumpDeclForAssert ( const clang::Decl & D,
const char * commentStart )

Definition at line 4339 of file TClingUtils.cxx.

◆ GetEnclosingSpace()

const clang::DeclContext * GetEnclosingSpace ( const clang::RecordDecl & cl)

Definition at line 2388 of file TClingUtils.cxx.

◆ getFinalSpellingLoc()

clang::SourceLocation getFinalSpellingLoc ( clang::SourceManager & sourceManager,
clang::SourceLocation sourceLoc )
static

Definition at line 3475 of file TClingUtils.cxx.

◆ GetMethodWithProto()

const clang::CXXMethodDecl * GetMethodWithProto ( const clang::Decl * cinfo,
const char * method,
const char * proto,
const cling::Interpreter & interp,
bool diagnose )

Definition at line 1167 of file TClingUtils.cxx.

◆ hasSomeTypedefSomewhere()

bool hasSomeTypedefSomewhere ( const clang::Type * T)
static

Definition at line 4723 of file TClingUtils.cxx.

◆ IsTemplate()

bool IsTemplate ( const clang::Decl & cl)
inline

Definition at line 783 of file TClingUtils.cxx.

◆ isTypeWithDefault()

bool isTypeWithDefault ( const clang::NamedDecl * nDecl)
static

Check if this NamedDecl is a template parameter with a default argument.

This is a single interface to treat both integral and type parameters. Returns true if this is the case, false otherwise

Definition at line 3883 of file TClingUtils.cxx.

◆ KeepNParams()

void KeepNParams ( clang::QualType & normalizedType,
const clang::QualType & vanillaType,
const cling::Interpreter & interp,
const ROOT::TMetaUtils::TNormalizedCtxt & normCtxt )
static

This function allows to manipulate the number of arguments in the type of a template specialisation.

Definition at line 3951 of file TClingUtils.cxx.

◆ RecurseKeepNParams()

bool RecurseKeepNParams ( clang::TemplateArgument & normTArg,
const clang::TemplateArgument & tArg,
const cling::Interpreter & interp,
const ROOT::TMetaUtils::TNormalizedCtxt & normCtxt,
const clang::ASTContext & astCtxt )
static

Definition at line 3901 of file TClingUtils.cxx.

◆ replaceEnvVars()

void replaceEnvVars ( const char * varname,
std::string & txt )
static

Reimplementation of TSystem::ExpandPathName() that cannot be used from TMetaUtils.

Definition at line 5198 of file TClingUtils.cxx.

◆ TreatSingleTemplateArg()

int TreatSingleTemplateArg ( const clang::TemplateArgument & arg,
std::string & argFwdDecl,
const cling::Interpreter & interpreter,
bool acceptStl = false )
static

Definition at line 5547 of file TClingUtils.cxx.