4 #ifndef PYROOT_TMETHODHOLDER_H
5 #define PYROOT_TMETHODHOLDER_H
86 #endif // !PYROOT_METHODHOLDER_H
Cppyy::TCppScope_t fScope
virtual Int_t GetPriority()
Method priorities exist (in lieu of true overloading) there to prevent void* or * from usurp...
TMethodHolder & operator=(const TMethodHolder &)
assignment operator
virtual PyObject * GetArgDefault(Int_t iarg)
get the default value (if any) of argument iarg of this method
virtual PyObject * GetPrototype()
virtual Bool_t Initialize(TCallContext *ctxt=0)
done if cache is already setup
virtual PyObject * Call(ObjectProxy *&self, PyObject *args, PyObject *kwds, TCallContext *ctxt=0)
preliminary check in case keywords are accidently used (they are ignored otherwise) ...
virtual PyObject * GetScopeProxy()
Get or build the scope of this method.
void Destroy_() const
destroy executor and argument converters
std::string GetReturnTypeName()
PyObject * CallSafe(void *, ptrdiff_t, TCallContext *)
Helper code to prevent some code duplication; this code embeds a ROOT "try/catch" block that saves th...
Cppyy::TCppMethod_t GetMethod()
virtual Bool_t InitExecutor_(TExecutor *&, TCallContext *ctxt=0)
install executor conform to the return type
void SetPyError_(PyObject *msg)
helper to report errors in a consistent format (derefs msg)
virtual PyObject * GetSignature()
void Copy_(const TMethodHolder &)
virtual PyObject * Execute(void *self, ptrdiff_t offset, TCallContext *ctxt=0)
call the interface method
Cppyy::TCppScope_t GetScope()
virtual PyCallable * Clone()
std::string GetSignatureString()
built a signature representation (used for doc strings)
virtual PyObject * PreProcessArgs(ObjectProxy *&self, PyObject *args, PyObject *kwds)
verify existence of self, return if ok
std::vector< TConverter * > fConverters
virtual PyObject * GetCoVarNames()
Build a tuple of the argument types/names.
TMethodHolder(Cppyy::TCppScope_t scope, Cppyy::TCppMethod_t method)
PyObject * CallFast(void *, ptrdiff_t, TCallContext *)
Helper code to prevent some duplication; this is called from CallSafe() as well as directly from TMet...
virtual Int_t GetMaxArgs()
Cppyy::TCppMethod_t fMethod
virtual ~TMethodHolder()
destructor
virtual Bool_t ConvertAndSetArgs(PyObject *args, TCallContext *ctxt=0)
Bool_t InitConverters_()
build buffers for argument dispatching
TExecutor * GetExecutor()