65 Init(cl, method, params);
97fFunc(orig.fFunc ?
gCling->CallFunc_FactoryCopy(orig.fFunc) : nullptr),
98fOffset(orig.fOffset),
fClass(orig.
fClass), fMetPtr(nullptr ),
99fMethod(orig.fMethod), fParams(orig.fParams), fProto(orig.fProto),
158 for(
int i=strlen(
function); i>=0; --i) {
160 case '<': ++nested;
break;
161 case '>':
if (nested==0) {
Error(
"TMethodCall R__FindScope",
"%s is not well formed function name",
function);
return nullptr; }
236 fClass =
m ?
m->GetClass() :
nullptr;
299 const ClassInfo_t *cinfo,
311 fParams = params ? params :
"";
316 ClassInfo_t *scope =
nullptr;
318 else scope = (ClassInfo_t*)cinfo;
323 if (params && params[0]) {
425 void *address =
nullptr;
428 Error(
"Execute",
"TMethodCall can no longer be use to call the operator delete and the destructor at the same time");
443 void *address =
nullptr;
457 void *address =
nullptr;
474 void *address =
nullptr;
488 void *address =
nullptr;
504 void *address =
nullptr;
518 void *address =
nullptr;
535 void *address =
nullptr;
569 if (func ==
nullptr) {
571 Error(
"ReturnType",
"Unknown method");
unsigned long long ULong64_t
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char mode
R__EXTERN TVirtualMutex * gInterpreterMutex
R__EXTERN TInterpreter * gCling
static TClass * R__FindScope(const char *function, UInt_t &pos, ClassInfo_t *cinfo)
Helper function to find the scope associated with a qualified function name.
#define R__LOCKGUARD(mutex)
TObject * Clone(const char *newname=nullptr) const override
Make a clone of an object using the Streamer facility.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TMethod * GetMethod(const char *method, const char *params, Bool_t objectIsConst=kFALSE)
Find the best method (if there is one) matching the parameters.
TMethod * GetMethodWithPrototype(const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
Find the method with a given prototype.
ClassInfo_t * GetClassInfo() const
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
Global functions class (global functions are obtained from CINT).
const char * GetSignature()
Return signature of function.
virtual void CallFunc_SetArgs(CallFunc_t *, const char *) const
virtual void SetTempLevel(int) const
virtual Longptr_t CallFunc_ExecInt(CallFunc_t *, void *) const
virtual void ClassInfo_Delete(ClassInfo_t *) const
virtual EReturnType MethodCallReturnType(TFunction *func) const =0
virtual void CallFunc_ExecWithArgsAndReturn(CallFunc_t *, void *, const void *[]=nullptr, int=0, void *=nullptr) const
virtual void CallFunc_ResetArg(CallFunc_t *) const
virtual void CallFunc_SetFuncProto(CallFunc_t *, ClassInfo_t *, const char *, const char *, Longptr_t *, ROOT::EFunctionMatchMode=ROOT::kConversionMatch) const
virtual void CallFunc_Exec(CallFunc_t *, void *) const
virtual CallFunc_t * CallFunc_Factory() const
virtual void CallFunc_Init(CallFunc_t *) const
virtual ClassInfo_t * ClassInfo_Factory(Bool_t=kTRUE) const =0
virtual void CallFunc_SetFunc(CallFunc_t *, ClassInfo_t *, const char *, const char *, bool, Longptr_t *) const
virtual Bool_t CallFunc_IsValid(CallFunc_t *) const
virtual void CallFunc_SetArgArray(CallFunc_t *, Longptr_t *, Int_t) const
virtual CallFunc_t * CallFunc_FactoryCopy(CallFunc_t *) const
virtual void ClassInfo_Init(ClassInfo_t *, const char *) const
virtual void CallFunc_Delete(CallFunc_t *) const
virtual MethodInfo_t * CallFunc_FactoryMethod(CallFunc_t *) const
virtual Double_t CallFunc_ExecDouble(CallFunc_t *, void *) const
virtual void CallFunc_SetArg(CallFunc_t *, Long_t) const =0
Method or function calling interface.
EReturnType ReturnType()
Returns the return type of the method.
TMethodCall()
Default TMethodCall ctor.
TMethodCall & operator=(const TMethodCall &rhs)
Assignment operator.
~TMethodCall()
TMethodCall dtor.
void ResetParam()
Reset parameter list. To be used before the first call the SetParam().
TObject * Clone(const char *newname="") const override
Return an exact copy of this object.
static const EReturnType kOther
TFunction * GetMethod()
Returns the TMethod describing the method to be executed.
static const EReturnType kNone
void Init(const TFunction *func)
Initialize the method invocation environment based on the TFunction object.
void InitImplementation(const char *methodname, const char *params, const char *proto, Bool_t objectIsConst, TClass *cl, const ClassInfo_t *cinfo, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
This function implements Init and InitWithPrototype.
Bool_t IsValid() const
Return true if the method call has been properly initialized and is usable.
void InitWithPrototype(TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
Initialize the method invocation environment.
void SetParam(Long_t l)
Add a long method parameter.
void SetParamPtrs(void *paramArr, Int_t nparam=-1)
ParamArr is an array containing the function argument values.
Each ROOT class (see TClass) has a linked list of methods.
const char * GetName() const override
Returns name of object.
Mother of all ROOT objects.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
const char * Data() const
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TString & Remove(Ssiz_t pos)