Definition at line 20 of file TMethodHolder.h.
Public Member Functions | |
TMethodHolder (const TMethodHolder &) | |
TMethodHolder (Cppyy::TCppScope_t scope, Cppyy::TCppMethod_t method) | |
virtual | ~TMethodHolder () |
destructor More... | |
virtual PyObject * | Call (ObjectProxy *&self, PyObject *args, PyObject *kwds, TCallContext *ctxt=0) |
preliminary check in case keywords are accidently used (they are ignored otherwise) More... | |
virtual PyCallable * | Clone () |
virtual Bool_t | ConvertAndSetArgs (PyObject *args, TCallContext *ctxt=0) |
virtual PyObject * | Execute (void *self, ptrdiff_t offset, TCallContext *ctxt=0) |
call the interface method More... | |
virtual PyObject * | GetArgDefault (Int_t iarg) |
get the default value (if any) of argument iarg of this method More... | |
virtual PyObject * | GetCoVarNames () |
Build a tuple of the argument types/names. More... | |
virtual Int_t | GetMaxArgs () |
virtual Int_t | GetPriority () |
Method priorities exist (in lieu of true overloading) there to prevent void* or <unknown>* from usurping otherwise valid calls. More... | |
virtual PyObject * | GetPrototype () |
virtual PyObject * | GetScopeProxy () |
Get or build the scope of this method. More... | |
virtual PyObject * | GetSignature () |
virtual Bool_t | Initialize (TCallContext *ctxt=0) |
done if cache is already setup More... | |
TMethodHolder & | operator= (const TMethodHolder &) |
assignment operator More... | |
virtual PyObject * | PreProcessArgs (ObjectProxy *&self, PyObject *args, PyObject *kwds) |
verify existence of self, return if ok More... | |
Public Member Functions inherited from PyROOT::PyCallable | |
virtual | ~PyCallable () |
virtual PyObject * | Call (ObjectProxy *&self, PyObject *args, PyObject *kwds, TCallContext *ctxt=0)=0 |
virtual PyCallable * | Clone ()=0 |
virtual PyObject * | GetArgDefault (Int_t)=0 |
virtual PyObject * | GetCoVarNames ()=0 |
virtual PyObject * | GetDocString () |
virtual Int_t | GetMaxArgs ()=0 |
virtual Int_t | GetPriority ()=0 |
virtual PyObject * | GetPrototype ()=0 |
virtual PyObject * | GetScopeProxy ()=0 |
virtual PyObject * | GetSignature ()=0 |
Protected Member Functions | |
TExecutor * | GetExecutor () |
Cppyy::TCppMethod_t | GetMethod () |
std::string | GetReturnTypeName () |
Cppyy::TCppScope_t | GetScope () |
std::string | GetSignatureString () |
built a signature representation (used for doc strings) More... | |
virtual Bool_t | InitExecutor_ (TExecutor *&, TCallContext *ctxt=0) |
install executor conform to the return type More... | |
Private Member Functions | |
PyObject * | CallFast (void *, ptrdiff_t, TCallContext *) |
Helper code to prevent some duplication; this is called from CallSafe() as well as directly from TMethodHolder::Execute in fast mode. More... | |
PyObject * | CallSafe (void *, ptrdiff_t, TCallContext *) |
Helper code to prevent some code duplication; this code embeds a ROOT "try/catch" block that saves the stack for restoration in case of an otherwise fatal signal. More... | |
void | Copy_ (const TMethodHolder &) |
void | Destroy_ () const |
destroy executor and argument converters More... | |
Bool_t | InitConverters_ () |
build buffers for argument dispatching More... | |
void | SetPyError_ (PyObject *msg) |
helper to report errors in a consistent format (derefs msg) More... | |
Private Attributes | |
Int_t | fArgsRequired |
std::vector< TConverter * > | fConverters |
TExecutor * | fExecutor |
Bool_t | fIsInitialized |
Cppyy::TCppMethod_t | fMethod |
Cppyy::TCppScope_t | fScope |
PyROOT::TMethodHolder::TMethodHolder | ( | Cppyy::TCppScope_t | scope, |
Cppyy::TCppMethod_t | method | ||
) |
Definition at line 246 of file TMethodHolder.cxx.
PyROOT::TMethodHolder::TMethodHolder | ( | const TMethodHolder & | other | ) |
Definition at line 254 of file TMethodHolder.cxx.
|
virtual |
destructor
Definition at line 279 of file TMethodHolder.cxx.
|
virtual |
preliminary check in case keywords are accidently used (they are ignored otherwise)
Implements PyROOT::PyCallable.
Reimplemented in PyROOT::TFunctionHolder, PyROOT::TClassMethodHolder, and PyROOT::TConstructorHolder.
Definition at line 544 of file TMethodHolder.cxx.
|
inlineprivate |
Helper code to prevent some duplication; this is called from CallSafe() as well as directly from TMethodHolder::Execute in fast mode.
Definition at line 64 of file TMethodHolder.cxx.
|
inlineprivate |
Helper code to prevent some code duplication; this code embeds a ROOT "try/catch" block that saves the stack for restoration in case of an otherwise fatal signal.
Definition at line 116 of file TMethodHolder.cxx.
|
inlinevirtual |
Implements PyROOT::PyCallable.
Reimplemented in PyROOT::TClassMethodHolder, PyROOT::TConstructorHolder, PyROOT::TFunctionHolder, and PyROOT::TSetItemHolder.
Definition at line 37 of file TMethodHolder.h.
|
virtual |
Definition at line 487 of file TMethodHolder.cxx.
|
inlineprivate |
Definition at line 37 of file TMethodHolder.cxx.
|
inlineprivate |
destroy executor and argument converters
Definition at line 52 of file TMethodHolder.cxx.
|
virtual |
call the interface method
Definition at line 519 of file TMethodHolder.cxx.
get the default value (if any) of argument iarg of this method
Implements PyROOT::PyCallable.
Definition at line 395 of file TMethodHolder.cxx.
|
virtual |
Build a tuple of the argument types/names.
Implements PyROOT::PyCallable.
Definition at line 368 of file TMethodHolder.cxx.
|
inlineprotected |
Definition at line 51 of file TMethodHolder.h.
|
virtual |
Implements PyROOT::PyCallable.
Definition at line 360 of file TMethodHolder.cxx.
|
inlineprotected |
Definition at line 49 of file TMethodHolder.h.
|
virtual |
Method priorities exist (in lieu of true overloading) there to prevent void* or <unknown>* from usurping otherwise valid calls.
TODO: extend this to favour classes that are not bases.
Implements PyROOT::PyCallable.
Definition at line 301 of file TMethodHolder.cxx.
|
virtual |
Implements PyROOT::PyCallable.
Definition at line 286 of file TMethodHolder.cxx.
|
protected |
Definition at line 607 of file TMethodHolder.cxx.
|
inlineprotected |
Definition at line 50 of file TMethodHolder.h.
|
virtual |
Get or build the scope of this method.
Implements PyROOT::PyCallable.
Definition at line 420 of file TMethodHolder.cxx.
|
virtual |
Implements PyROOT::PyCallable.
Definition at line 599 of file TMethodHolder.cxx.
|
protected |
built a signature representation (used for doc strings)
Definition at line 185 of file TMethodHolder.cxx.
|
private |
build buffers for argument dispatching
Definition at line 134 of file TMethodHolder.cxx.
|
protectedvirtual |
install executor conform to the return type
Reimplemented in PyROOT::TConstructorHolder, and PyROOT::TSetItemHolder.
Definition at line 170 of file TMethodHolder.cxx.
|
virtual |
done if cache is already setup
Definition at line 428 of file TMethodHolder.cxx.
PyROOT::TMethodHolder & PyROOT::TMethodHolder::operator= | ( | const TMethodHolder & | other | ) |
assignment operator
Definition at line 264 of file TMethodHolder.cxx.
|
virtual |
verify existence of self, return if ok
Reimplemented in PyROOT::TFunctionHolder, and PyROOT::TSetItemHolder.
Definition at line 451 of file TMethodHolder.cxx.
helper to report errors in a consistent format (derefs msg)
Definition at line 211 of file TMethodHolder.cxx.
|
private |
Definition at line 78 of file TMethodHolder.h.
|
private |
Definition at line 75 of file TMethodHolder.h.
|
private |
Definition at line 72 of file TMethodHolder.h.
|
private |
Definition at line 81 of file TMethodHolder.h.
|
private |
Definition at line 70 of file TMethodHolder.h.
|
private |
Definition at line 71 of file TMethodHolder.h.