|
clang::QualType | ROOT::TMetaUtils::AddDefaultParameters (clang::QualType instanceType, const cling::Interpreter &interpret, const TNormalizedCtxt &normCtxt) |
| Add any unspecified template parameters to the class template instance, mentioned anywhere in the type. More...
|
|
bool | ROOT::TMetaUtils::BeginsWith (const std::string &theString, const std::string &theSubstring) |
|
EIOCtorCategory | ROOT::TMetaUtils::CheckConstructor (const clang::CXXRecordDecl *, const RConstructorType &, const cling::Interpreter &interp) |
|
bool | ROOT::TMetaUtils::CheckPublicFuncWithProto (clang::CXXRecordDecl const *, char const *, char const *, const cling::Interpreter &, bool diagnose) |
|
const clang::FunctionDecl * | ROOT::TMetaUtils::ClassInfo__HasMethod (const clang::DeclContext *cl, char const *, const cling::Interpreter &interp) |
|
static const std::string | ROOT::TMetaUtils::propNames::comment ("comment") |
|
void | ROOT::TMetaUtils::CreateNameTypeMap (clang::CXXRecordDecl const &, std::map< std::string, ROOT::Internal::TSchemaType, std::less< std::string >, std::allocator< std::pair< std::string const, ROOT::Internal::TSchemaType > > > &) |
|
llvm::StringRef | ROOT::TMetaUtils::DataMemberInfo__ValidArrayIndex (const clang::DeclaratorDecl &m, int *errnum=0, llvm::StringRef *errstr=0) |
| ValidArrayIndex return a static string (so use it or copy it immediatly, do not call GrabIndex twice in the same expression) containing the size of the array data member. More...
|
|
clang::Module * | ROOT::TMetaUtils::declareModuleMap (clang::CompilerInstance *CI, const char *moduleFileName, const char *headers[]) |
| Declare a virtual module.map to clang. Returns Module on success. More...
|
|
const std::string | ROOT::TMetaUtils::AST2SourceTools::Decls2FwdDecls (const std::vector< const clang::Decl * > &decls, bool(*ignoreFiles)(const clang::PresumedLoc &), const cling::Interpreter &interp) |
|
int | ROOT::TMetaUtils::ElementStreamer (std::ostream &finalString, const clang::NamedDecl &forcontext, const clang::QualType &qti, const char *t, int rwmode, const cling::Interpreter &interp, const char *tcl=0) |
|
int | ROOT::TMetaUtils::AST2SourceTools::EncloseInNamespaces (const clang::Decl &decl, std::string &defString) |
| Take the namespaces which enclose the decl and put them around the definition string. More...
|
|
const clang::RecordDecl * | ROOT::TMetaUtils::AST2SourceTools::EncloseInScopes (const clang::Decl &decl, std::string &defString) |
| Take the scopes which enclose the decl and put them around the definition string. More...
|
|
bool | ROOT::TMetaUtils::EndsWith (const std::string &theString, const std::string &theSubstring) |
|
void | ROOT::TMetaUtils::Error (const char *location, const char *va_(fmt),...) |
|
bool | ROOT::TMetaUtils::ExtractAttrIntPropertyFromName (const clang::Decl &decl, const std::string &propName, int &propValue) |
| This routine counts on the "propName<separator>propValue" format. More...
|
|
bool | ROOT::TMetaUtils::ExtractAttrPropertyFromName (const clang::Decl &decl, const std::string &propName, std::string &propValue) |
| This routine counts on the "propName<separator>propValue" format. More...
|
|
int | ROOT::TMetaUtils::extractAttrString (clang::Attr *attribute, std::string &attrString) |
| Extract attr string. More...
|
|
void | ROOT::TMetaUtils::ExtractCtxtEnclosingNameSpaces (const clang::DeclContext &, std::list< std::pair< std::string, bool > > &) |
| Extract enclosing namespaces recusrively. More...
|
|
void | ROOT::TMetaUtils::ExtractEnclosingNameSpaces (const clang::Decl &, std::list< std::pair< std::string, bool > > &) |
| Extract the immediately outer namespace and then launch the recursion. More...
|
|
const clang::RecordDecl * | ROOT::TMetaUtils::ExtractEnclosingScopes (const clang::Decl &decl, std::list< std::pair< std::string, unsigned int > > &enclosingSc) |
| Extract the names and types of containing scopes. More...
|
|
int | ROOT::TMetaUtils::extractPropertyNameVal (clang::Attr *attribute, std::string &attrName, std::string &attrValue) |
|
int | ROOT::TMetaUtils::extractPropertyNameValFromString (const std::string attributeStr, std::string &attrName, std::string &attrValue) |
|
clang::TemplateName | ROOT::TMetaUtils::ExtractTemplateNameFromQualType (const clang::QualType &qt) |
| These manipulations are necessary because a template specialisation type does not inherit from a record type (there is an asymmetry between the decls and the types in the clang interface). More...
|
|
void | ROOT::TMetaUtils::Fatal (const char *location, const char *va_(fmt),...) |
|
int | ROOT::TMetaUtils::AST2SourceTools::FwdDeclFromFcnDecl (const clang::FunctionDecl &fcnDecl, const cling::Interpreter &interpreter, std::string &defString) |
|
int | ROOT::TMetaUtils::AST2SourceTools::FwdDeclFromRcdDecl (const clang::RecordDecl &recordDecl, const cling::Interpreter &interpreter, std::string &defString, bool acceptStl=false) |
| Convert a rcd decl to its fwd decl If this is a template specialisation, treat in the proper way. More...
|
|
int | ROOT::TMetaUtils::AST2SourceTools::FwdDeclFromTmplDecl (const clang::TemplateDecl &tmplDecl, const cling::Interpreter &interpreter, std::string &defString) |
| Convert a tmplt decl to its fwd decl. More...
|
|
int | ROOT::TMetaUtils::AST2SourceTools::FwdDeclFromTypeDefNameDecl (const clang::TypedefNameDecl &tdnDecl, const cling::Interpreter &interpreter, std::string &fwdDeclString, std::unordered_set< std::string > *fwdDeclSet=nullptr) |
| Extract "forward declaration" of a typedef. More...
|
|
template<typename T > |
const T * | ROOT::TMetaUtils::GetAnnotatedRedeclarable (const T *Redecl) |
|
const clang::TypedefNameDecl * | ROOT::TMetaUtils::GetAnnotatedRedeclarable (const clang::TypedefNameDecl *TND) |
|
const clang::TagDecl * | ROOT::TMetaUtils::GetAnnotatedRedeclarable (const clang::TagDecl *TND) |
|
llvm::StringRef | ROOT::TMetaUtils::GetClassComment (const clang::CXXRecordDecl &decl, clang::SourceLocation *loc, const cling::Interpreter &interpreter) |
| Return the class comment after the ClassDef: class MyClass { ... More...
|
|
int | ROOT::TMetaUtils::GetClassVersion (const clang::RecordDecl *cl, const cling::Interpreter &interp) |
| Return the version number of the class or -1 if the function Class_Version does not exist. More...
|
|
llvm::StringRef | ROOT::TMetaUtils::GetComment (const clang::Decl &decl, clang::SourceLocation *loc=0) |
| Returns the comment (// striped away), annotating declaration in a meaningful for ROOT IO way. More...
|
|
void | ROOT::TMetaUtils::GetCppName (std::string &output, const char *input) |
| Return (in the argument 'output') a mangled version of the C++ symbol/type (pass as 'input') that can be used in C++ as a variable name. More...
|
|
int | ROOT::TMetaUtils::AST2SourceTools::GetDefArg (const clang::ParmVarDecl &par, std::string &valAsString, const clang::PrintingPolicy &pp) |
| Get the default value as string. More...
|
|
int & | ROOT::TMetaUtils::GetErrorIgnoreLevel () |
|
llvm::StringRef | ROOT::TMetaUtils::GetFileName (const clang::Decl &decl, const cling::Interpreter &interp) |
| Return the header file to be included to declare the Decl. More...
|
|
void | ROOT::TMetaUtils::GetFullyQualifiedTypeName (std::string &name, const clang::QualType &type, const cling::Interpreter &interpreter) |
|
void | ROOT::TMetaUtils::GetFullyQualifiedTypeName (std::string &name, const clang::QualType &type, const clang::ASTContext &) |
|
const clang::FunctionDecl * | ROOT::TMetaUtils::GetFuncWithProto (const clang::Decl *cinfo, const char *method, const char *proto, const cling::Interpreter &gInterp, bool diagnose) |
|
std::string | ROOT::TMetaUtils::GetInterpreterExtraIncludePath (bool rootbuild) |
| Return the -I needed to find RuntimeUniverse.h. More...
|
|
long | ROOT::TMetaUtils::GetLineNumber (clang::Decl const *) |
|
std::string | ROOT::TMetaUtils::GetLLVMResourceDir (bool rootbuild) |
| Return the LLVM / clang resource directory. More...
|
|
std::string | ROOT::TMetaUtils::GetModuleFileName (const char *moduleName) |
| Return the dictionary file name for a module. More...
|
|
std::pair< std::string, clang::QualType > | ROOT::TMetaUtils::GetNameTypeForIO (const clang::QualType &templateInstanceType, const cling::Interpreter &interpreter, const TNormalizedCtxt &normCtxt, TClassEdit::EModType mode=TClassEdit::kNone) |
|
bool | ROOT::TMetaUtils::GetNameWithinNamespace (std::string &, std::string &, std::string &, clang::CXXRecordDecl const *) |
|
void | ROOT::TMetaUtils::GetNormalizedName (std::string &norm_name, const clang::QualType &type, const cling::Interpreter &interpreter, const TNormalizedCtxt &normCtxt) |
| Return the type name normalized for ROOT, keeping only the ROOT opaque typedef (Double32_t, etc.) and adding default template argument for all types except the STL collections where we remove the default template argument if any. More...
|
|
void | ROOT::TMetaUtils::GetNormalizedName (std::string &norm_name, const clang::TypeDecl *typeDecl, const cling::Interpreter &interpreter) |
|
clang::QualType | ROOT::TMetaUtils::GetNormalizedType (const clang::QualType &type, const cling::Interpreter &interpreter, const TNormalizedCtxt &normCtxt) |
| Return the type normalized for ROOT, keeping only the ROOT opaque typedef (Double32_t, etc.) and adding default template argument for all types except those explicitly requested to be drop by the user. More...
|
|
unsigned int & | ROOT::TMetaUtils::GetNumberOfWarningsAndErrors () |
|
const std::string & | ROOT::TMetaUtils::GetPathSeparator () |
| Return the separator suitable for this platform. More...
|
|
void | ROOT::TMetaUtils::GetQualifiedName (std::string &qual_name, const clang::QualType &type, const clang::NamedDecl &forcontext) |
| Main implementation relying on GetFullyQualifiedTypeName All other GetQualifiedName functions leverage this one except the one for namespaces. More...
|
|
std::string | ROOT::TMetaUtils::GetQualifiedName (const clang::QualType &type, const clang::NamedDecl &forcontext) |
|
void | ROOT::TMetaUtils::GetQualifiedName (std::string &qual_name, const clang::Type &type, const clang::NamedDecl &forcontext) |
|
std::string | ROOT::TMetaUtils::GetQualifiedName (const clang::Type &type, const clang::NamedDecl &forcontext) |
|
void | ROOT::TMetaUtils::GetQualifiedName (std::string &qual_name, const clang::NamedDecl &nd) |
| This implementation does not rely on GetFullyQualifiedTypeName. More...
|
|
std::string | ROOT::TMetaUtils::GetQualifiedName (const clang::NamedDecl &nd) |
|
void | ROOT::TMetaUtils::GetQualifiedName (std::string &qual_name, const AnnotatedRecordDecl &annotated) |
|
std::string | ROOT::TMetaUtils::GetQualifiedName (const AnnotatedRecordDecl &annotated) |
|
void | ROOT::TMetaUtils::GetQualifiedName (std::string &qual_name, const clang::RecordDecl &recordDecl) |
|
std::string | ROOT::TMetaUtils::GetQualifiedName (const clang::RecordDecl &recordDecl) |
|
std::string | ROOT::TMetaUtils::GetROOTIncludeDir (bool rootbuild) |
|
clang::QualType | ROOT::TMetaUtils::GetTypeForIO (const clang::QualType &templateInstanceType, const cling::Interpreter &interpreter, const TNormalizedCtxt &normCtxt, TClassEdit::EModType mode=TClassEdit::kNone) |
|
clang::RecordDecl * | ROOT::TMetaUtils::GetUnderlyingRecordDecl (clang::QualType type) |
|
const clang::Type * | ROOT::TMetaUtils::GetUnderlyingType (clang::QualType type) |
| Return the base/underlying type of a chain of array or pointers type. More...
|
|
bool | ROOT::TMetaUtils::HasCustomConvStreamerMemberFunction (const AnnotatedRecordDecl &cl, const clang::CXXRecordDecl *clxx, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt) |
| Return true if the class has a custom member function streamer. More...
|
|
bool | ROOT::TMetaUtils::HasCustomOperatorNewArrayPlacement (clang::RecordDecl const &, const cling::Interpreter &interp) |
|
bool | ROOT::TMetaUtils::HasCustomOperatorNewPlacement (char const *, clang::RecordDecl const &, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::HasCustomOperatorNewPlacement (clang::RecordDecl const &, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::HasCustomStreamerMemberFunction (const AnnotatedRecordDecl &cl, const clang::CXXRecordDecl *clxx, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt) |
| Return true if the class has a custom member function streamer. More...
|
|
bool | ROOT::TMetaUtils::HasDirectoryAutoAdd (clang::CXXRecordDecl const *, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::HasIOConstructor (clang::CXXRecordDecl const *, std::string &, const RConstructorTypes &, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::HasNewMerge (clang::CXXRecordDecl const *, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::HasOldMerge (clang::CXXRecordDecl const *, const cling::Interpreter &) |
|
bool | ROOT::TMetaUtils::hasOpaqueTypedef (clang::QualType instanceType, const TNormalizedCtxt &normCtxt) |
| Return true if the type is a Double32_t or Float16_t or is a instance template that depends on Double32_t or Float16_t. More...
|
|
bool | ROOT::TMetaUtils::hasOpaqueTypedef (const AnnotatedRecordDecl &cl, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt) |
| Return true if any of the argument is or contains a double32. More...
|
|
bool | ROOT::TMetaUtils::HasResetAfterMerge (clang::CXXRecordDecl const *, const cling::Interpreter &) |
|
void | ROOT::TMetaUtils::Info (const char *location, const char *va_(fmt),...) |
|
static const std::string | ROOT::TMetaUtils::propNames::ioname ("ioname") |
|
static const std::string | ROOT::TMetaUtils::propNames::iotype ("iotype") |
|
bool | ROOT::TMetaUtils::IsBase (const clang::CXXRecordDecl *cl, const clang::CXXRecordDecl *base, const clang::CXXRecordDecl *context, const cling::Interpreter &interp) |
|
bool | ROOT::TMetaUtils::IsBase (const clang::FieldDecl &m, const char *basename, const cling::Interpreter &interp) |
|
bool | ROOT::TMetaUtils::IsOfType (const clang::CXXRecordDecl &cl, const std::string &type, const cling::LookupHelper &lh) |
|
bool | ROOT::TMetaUtils::IsStdClass (const clang::RecordDecl &cl) |
| Return true, if the decl is part of the std namespace. More...
|
|
bool | ROOT::TMetaUtils::IsStdDropDefaultClass (const clang::RecordDecl &cl) |
| Return true, if the decl is part of the std namespace and we want its default parameter dropped. More...
|
|
ROOT::ESTLType | ROOT::TMetaUtils::IsSTLCont (const clang::RecordDecl &cl) |
| type : type name: vector<list<classA,allocator>,allocator> result: 0 : not stl container abs(result): code of container 1=vector,2=list,3=deque,4=map 5=multimap,6=set,7=multiset More...
|
|
int | ROOT::TMetaUtils::IsSTLContainer (const AnnotatedRecordDecl &annotated) |
| Is this an STL container. More...
|
|
ROOT::ESTLType | ROOT::TMetaUtils::IsSTLContainer (const clang::FieldDecl &m) |
| Is this an STL container? More...
|
|
int | ROOT::TMetaUtils::IsSTLContainer (const clang::CXXBaseSpecifier &base) |
| Is this an STL container? More...
|
|
bool | ROOT::TMetaUtils::IsStreamableObject (const clang::FieldDecl &m, const cling::Interpreter &interp) |
|
void | ROOT::TMetaUtils::LevelPrint (bool prefix, int level, const char *location, const char *fmt, va_list ap) |
|
bool | ROOT::TMetaUtils::MatchWithDeclOrAnyOfPrevious (const clang::CXXRecordDecl &cl, const clang::CXXRecordDecl ¤tCl) |
| This is a recursive function. More...
|
|
static const std::string | ROOT::TMetaUtils::propNames::name ("name") |
|
static const std::string | ROOT::TMetaUtils::propNames::nArgsToKeep ("nArgsToKeep") |
|
bool | ROOT::TMetaUtils::NeedDestructor (clang::CXXRecordDecl const *) |
|
bool | ROOT::TMetaUtils::NeedTemplateKeyword (clang::CXXRecordDecl const *) |
|
static const std::string | ROOT::TMetaUtils::propNames::pattern ("pattern") |
|
static const std::string | ROOT::TMetaUtils::propNames::persistent ("persistent") |
|
int | ROOT::TMetaUtils::AST2SourceTools::PrepareArgsForFwdDecl (std::string &templateArgs, const clang::TemplateParameterList &tmplParamList, const cling::Interpreter &interpreter) |
| Loop over the template parameters and build a string for template arguments using the fully qualified name There are different cases: Case 1: a simple template parameter E.g. More...
|
|
clang::ClassTemplateDecl * | ROOT::TMetaUtils::QualType2ClassTemplateDecl (const clang::QualType &qt) |
| Extract from a qualtype the class template if this makes sense. More...
|
|
bool | ROOT::TMetaUtils::QualType2Template (const clang::QualType &qt, clang::ClassTemplateDecl *&ctd, clang::ClassTemplateSpecializationDecl *&ctsd) |
| Get the template specialisation decl and template decl behind the qualtype Returns true if successfully found, false otherwise. More...
|
|
int | ROOT::TMetaUtils::RemoveTemplateArgsFromName (std::string &name, unsigned int) |
| Remove the last n template arguments from the name. More...
|
|
void | ROOT::TMetaUtils::ReplaceAll (std::string &str, const std::string &from, const std::string &to, bool recurse=false) |
|
bool | ROOT::TMetaUtils::RequireCompleteType (const cling::Interpreter &interp, const clang::CXXRecordDecl *cl) |
|
bool | ROOT::TMetaUtils::RequireCompleteType (const cling::Interpreter &interp, clang::SourceLocation Loc, clang::QualType Type) |
|
clang::QualType | ROOT::TMetaUtils::ReSubstTemplateArg (clang::QualType input, const clang::Type *instance) |
| Check if 'input' or any of its template parameter was substituted when instantiating the class template instance and replace it with the partially sugared types we have from 'instance'. More...
|
|
const clang::CXXRecordDecl * | ROOT::TMetaUtils::ScopeSearch (const char *name, const cling::Interpreter &gInterp, bool diagnose, const clang::Type **resultType) |
| Return the scope corresponding to 'name' or std::'name'. More...
|
|
static const std::string | ROOT::TMetaUtils::propNames::separator ("@@@") |
|
void | ROOT::TMetaUtils::SetPathsForRelocatability (std::vector< std::string > &clingArgs) |
| Organise the parameters for cling in order to guarantee relocatability It treats the gcc toolchain and the root include path FIXME: enables relocatability for experiments' framework headers until PCMs are available. More...
|
|
const char * | ROOT::TMetaUtils::ShortTypeName (const char *typeDesc) |
| Return the absolute type of typeDesc. More...
|
|
std::string | ROOT::TMetaUtils::ShortTypeName (const clang::FieldDecl &m) |
| Return the absolute type of typeDesc. More...
|
|
ROOT::ESTLType | ROOT::TMetaUtils::STLKind (const llvm::StringRef type) |
| Converts STL container name to number. vector -> 1, etc.. More...
|
|
void | ROOT::TMetaUtils::SysError (const char *location, const char *va_(fmt),...) |
|
static const std::string | ROOT::TMetaUtils::propNames::transient ("transient") |
|
std::string | ROOT::TMetaUtils::TrueName (const clang::FieldDecl &m) |
| TrueName strips the typedefs and array dimensions. More...
|
|
void | ROOT::TMetaUtils::Warning (const char *location, const char *va_(fmt),...) |
|
void | ROOT::TMetaUtils::WriteAuxFunctions (std::ostream &finalString, const AnnotatedRecordDecl &cl, const clang::CXXRecordDecl *decl, const cling::Interpreter &interp, const RConstructorTypes &ctorTypes, const TNormalizedCtxt &normCtxt) |
| std::string NormalizedName; GetNormalizedName(NormalizedName, decl->getASTContext().getTypeDeclType(decl), interp, normCtxt); More...
|
|
void | ROOT::TMetaUtils::WriteClassCode (CallWriteStreamer_t WriteStreamerFunc, const AnnotatedRecordDecl &cl, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt, std::ostream &finalString, const RConstructorTypes &ctorTypes, bool isGenreflex) |
| Generate the code of the class If the requestor is genreflex, request the new streamer format. More...
|
|
void | ROOT::TMetaUtils::WriteClassInit (std::ostream &finalString, const AnnotatedRecordDecl &cl, const clang::CXXRecordDecl *decl, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt, const RConstructorTypes &ctorTypes, bool &needCollectionProxy) |
| FIXME: a function of ~300 lines! More...
|
|
int | ROOT::TMetaUtils::WriteNamespaceHeader (std::ostream &, const clang::RecordDecl *) |
|
int | ROOT::TMetaUtils::WriteNamespaceHeader (std::ostream &, const clang::DeclContext *) |
| Write all the necessary opening part of the namespace and return the number of closing brackets needed For example for Space1::Space2 we write: namespace Space1 { namespace Space2 { and return 2. More...
|
|
void | ROOT::TMetaUtils::WritePointersSTL (const AnnotatedRecordDecl &cl, const cling::Interpreter &interp, const TNormalizedCtxt &normCtxt) |
| Write interface function for STL members. More...
|
|