@@ -41,6 +41,20 @@ class TMethod;
41
41
class TObjArray ;
42
42
class TEnum ;
43
43
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
+
44
58
R__EXTERN TVirtualMutex *gInterpreterMutex ;
45
59
46
60
class TInterpreter : public TNamed {
@@ -95,6 +109,9 @@ class TInterpreter : public TNamed {
95
109
TInterpreter (const char *name, const char *title = " Generic Interpreter" );
96
110
virtual ~TInterpreter () { }
97
111
112
+ virtual void *GetBackendInterpreter () const { return 0 ; }
113
+ ROOT::TMetaUtils::TNormalizedCtxt *GetNormalizedCtxt () const { return 0 ; }
114
+
98
115
virtual void AddIncludePath (const char *path) = 0;
99
116
virtual void *SetAutoLoadCallBack (void * /* cb*/ ) { return 0 ; }
100
117
virtual void *GetAutoLoadCallBack () const { return 0 ; }
@@ -469,6 +486,45 @@ class TInterpreter : public TNamed {
469
486
virtual const char *TypedefInfo_Name (TypedefInfo_t * /* tinfo */ ) const {return 0 ;}
470
487
virtual const char *TypedefInfo_Title (TypedefInfo_t * /* tinfo */ ) const {return 0 ;}
471
488
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
+
472
528
static TInterpreter *Instance ();
473
529
474
530
ClassDef (TInterpreter,0 ) // ABC defining interface to generic interpreter
0 commit comments