Skip to content

Commit 2e64611

Browse files
committed
Forward port of Bill patch.
Patch obtained by doing: git diff 3aa5dfe..cms-sw/cms/3aa5dfe | patch -p1 and ignoring the conflict (due to a doublely added header).
1 parent 19afb27 commit 2e64611

File tree

4 files changed

+1186
-2
lines changed

4 files changed

+1186
-2
lines changed

core/meta/inc/TInterpreter.h

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ class TMethod;
4141
class TObjArray;
4242
class TEnum;
4343

44+
45+
46+
47+
class TType;
48+
49+
namespace ROOT {
50+
namespace TMetaUtils {
51+
class TNormalizedCtxt;
52+
} // namespace TMetaUtils
53+
} // namespace ROOT
54+
55+
56+
57+
4458
R__EXTERN TVirtualMutex *gInterpreterMutex;
4559

4660
class TInterpreter : public TNamed {
@@ -95,6 +109,9 @@ class TInterpreter : public TNamed {
95109
TInterpreter(const char *name, const char *title = "Generic Interpreter");
96110
virtual ~TInterpreter() { }
97111

112+
virtual void *GetBackendInterpreter() const { return 0; }
113+
ROOT::TMetaUtils::TNormalizedCtxt *GetNormalizedCtxt() const { return 0; }
114+
98115
virtual void AddIncludePath(const char *path) = 0;
99116
virtual void *SetAutoLoadCallBack(void* /*cb*/) { return 0; }
100117
virtual void *GetAutoLoadCallBack() const { return 0; }
@@ -469,6 +486,45 @@ class TInterpreter : public TNamed {
469486
virtual const char *TypedefInfo_Name(TypedefInfo_t * /* tinfo */) const {return 0;}
470487
virtual const char *TypedefInfo_Title(TypedefInfo_t * /* tinfo */) const {return 0;}
471488

489+
490+
// Type interface
491+
virtual bool Type_Bool(void* /*obj*/) const { return false; }
492+
virtual bool Type_CheckType(void* /*obj*/, bool /*noComponents*/ = false) const { return false; }
493+
virtual void Type_Delete(void* /*obj*/) const {}
494+
virtual void Type_Dump(void* /*obj*/) const {}
495+
virtual TType* Type_Factory() const { return 0; }
496+
virtual TType* Type_Factory(const char* /*name*/) const { return 0; }
497+
virtual TType* Type_Factory(const std::string& /*name*/) const { return 0; }
498+
virtual TType* Type_Factory(const std::type_info& /*ti*/) const { return 0; }
499+
virtual TType* Type_GetParent(void* /*obj*/) const { return 0; };
500+
virtual void Type_Init(void* /*obj*/, const char* /*name*/) const {}
501+
virtual void Type_Init(void* /*obj*/, const std::string& /*name*/) const {}
502+
virtual void Type_Init(void* /*obj*/, const std::type_info& /*ti*/) const {}
503+
virtual void Type_InitWithTypeInfoName(void* /*obj*/, const char* /*name*/) const {}
504+
virtual bool Type_IsAbstract(void* /*obj*/) const { return false; }
505+
virtual bool Type_IsArray(void* /*obj*/) const { return false; }
506+
virtual bool Type_IsClass(void* /*obj*/) const { return false; }
507+
virtual bool Type_IsConst(void* /*obj*/) const { return false; }
508+
virtual bool Type_IsDynamicClass(void* /*obj*/) const { return false; }
509+
virtual bool Type_IsEnum(void* /*obj*/) const { return false; }
510+
virtual bool Type_IsFundamental(void* /*obj*/) const { return false; }
511+
virtual bool Type_IsPointer(void* /*obj*/) const { return false; }
512+
virtual bool Type_IsReference(void* /*obj*/) const { return false; }
513+
virtual bool Type_IsStruct(void* /*obj*/) const { return false; }
514+
virtual bool Type_IsTemplateInstance(void* /*obj*/) const { return false; }
515+
virtual bool Type_IsTypedef(void* /*obj*/) const { return false; }
516+
virtual bool Type_IsUnion(void* /*obj*/) const { return false; }
517+
virtual bool Type_IsValid(void* /*obj*/) const { return false; }
518+
virtual bool Type_IsVirtual(void* /*obj*/) const { return false; }
519+
virtual std::string Type_QualifiedName(void* /*obj*/) const { return ""; }
520+
virtual unsigned long Type_Size(void* /*obj*/) const { return 0UL; }
521+
virtual unsigned long Type_ArraySize(void* /*obj*/) const { return 0UL; }
522+
virtual TType* Type_FinalType(void* /*obj*/) const { return 0; }
523+
virtual TType* Type_ToType(void* /*obj*/) const { return 0; }
524+
virtual const std::type_info* Type_TypeInfo(void* /*obj*/) const { return 0; }
525+
virtual unsigned long Type_ArrayDim(void* /*obj*/) const { return 0UL; }
526+
virtual unsigned long Type_MaxIndex(void* /*obj*/, unsigned long /*dim*/) const { return 0UL; }
527+
472528
static TInterpreter *Instance();
473529

474530
ClassDef(TInterpreter,0) //ABC defining interface to generic interpreter

0 commit comments

Comments
 (0)