Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMS Customizations on top of ROOT6 HEAD #18

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions core/meta/inc/TInterpreter.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,20 @@ class TObjArray;
class TVirtualMutex;
class TEnum;




class TType;

namespace ROOT {
namespace TMetaUtils {
class TNormalizedCtxt;
} // namespace TMetaUtils
} // namespace ROOT




R__EXTERN TVirtualMutex *gInterpreterMutex;

class TInterpreter : public TNamed {
Expand Down Expand Up @@ -96,6 +110,9 @@ class TInterpreter : public TNamed {
TInterpreter(const char *name, const char *title = "Generic Interpreter");
virtual ~TInterpreter() { }

virtual void *GetBackendInterpreter() const { return 0; }
ROOT::TMetaUtils::TNormalizedCtxt *GetNormalizedCtxt() const { return 0; }

virtual void AddIncludePath(const char *path) = 0;
virtual void *SetAutoLoadCallBack(void* /*cb*/) { return 0; }
virtual void *GetAutoLoadCallBack() const { return 0; }
Expand Down Expand Up @@ -421,6 +438,45 @@ class TInterpreter : public TNamed {
virtual const char *TypedefInfo_Name(TypedefInfo_t * /* tinfo */) const {return 0;}
virtual const char *TypedefInfo_Title(TypedefInfo_t * /* tinfo */) const {return 0;}


// Type interface
virtual bool Type_Bool(void* /*obj*/) const { return false; }
virtual bool Type_CheckType(void* /*obj*/, bool /*noComponents*/ = false) const { return false; }
virtual void Type_Delete(void* /*obj*/) const {}
virtual void Type_Dump(void* /*obj*/) const {}
virtual TType* Type_Factory() const { return 0; }
virtual TType* Type_Factory(const char* /*name*/) const { return 0; }
virtual TType* Type_Factory(const std::string& /*name*/) const { return 0; }
virtual TType* Type_Factory(const std::type_info& /*ti*/) const { return 0; }
virtual TType* Type_GetParent(void* /*obj*/) const { return 0; };
virtual void Type_Init(void* /*obj*/, const char* /*name*/) const {}
virtual void Type_Init(void* /*obj*/, const std::string& /*name*/) const {}
virtual void Type_Init(void* /*obj*/, const std::type_info& /*ti*/) const {}
virtual void Type_InitWithTypeInfoName(void* /*obj*/, const char* /*name*/) const {}
virtual bool Type_IsAbstract(void* /*obj*/) const { return false; }
virtual bool Type_IsArray(void* /*obj*/) const { return false; }
virtual bool Type_IsClass(void* /*obj*/) const { return false; }
virtual bool Type_IsConst(void* /*obj*/) const { return false; }
virtual bool Type_IsDynamicClass(void* /*obj*/) const { return false; }
virtual bool Type_IsEnum(void* /*obj*/) const { return false; }
virtual bool Type_IsFundamental(void* /*obj*/) const { return false; }
virtual bool Type_IsPointer(void* /*obj*/) const { return false; }
virtual bool Type_IsReference(void* /*obj*/) const { return false; }
virtual bool Type_IsStruct(void* /*obj*/) const { return false; }
virtual bool Type_IsTemplateInstance(void* /*obj*/) const { return false; }
virtual bool Type_IsTypedef(void* /*obj*/) const { return false; }
virtual bool Type_IsUnion(void* /*obj*/) const { return false; }
virtual bool Type_IsValid(void* /*obj*/) const { return false; }
virtual bool Type_IsVirtual(void* /*obj*/) const { return false; }
virtual std::string Type_QualifiedName(void* /*obj*/) const { return ""; }
virtual unsigned long Type_Size(void* /*obj*/) const { return 0UL; }
virtual unsigned long Type_ArraySize(void* /*obj*/) const { return 0UL; }
virtual TType* Type_FinalType(void* /*obj*/) const { return 0; }
virtual TType* Type_ToType(void* /*obj*/) const { return 0; }
virtual const std::type_info* Type_TypeInfo(void* /*obj*/) const { return 0; }
virtual unsigned long Type_ArrayDim(void* /*obj*/) const { return 0UL; }
virtual unsigned long Type_MaxIndex(void* /*obj*/, unsigned long /*dim*/) const { return 0UL; }

static TInterpreter *Instance();

ClassDef(TInterpreter,0) //ABC defining interface to generic interpreter
Expand Down
Loading