* @brief This struct is a bundle of methods used by the JSMethodProxy type * */
| 31 | * |
| 32 | */ |
| 33 | struct JSMethodProxyMethodDefinitions { |
| 34 | public: |
| 35 | /** |
| 36 | * @brief Deallocation method (.tp_dealloc), removes the reference to the underlying JSFunction before freeing the JSMethodProxy |
| 37 | * |
| 38 | * @param self - The JSMethodProxy to be free'd |
| 39 | */ |
| 40 | static void JSMethodProxy_dealloc(JSMethodProxy *self); |
| 41 | |
| 42 | /** |
| 43 | * @brief New method (.tp_new), creates a new instance of the JSMethodProxy type, exposed as the __new()__ method in python |
| 44 | * |
| 45 | * @param type - The type of object to be created, will always be JSMethodProxyType or a derived type |
| 46 | * @param args - arguments to the __new()__ method, expected to be a JSFunctionProxy, and an object to bind self to |
| 47 | * @param kwds - keyword arguments to the __new()__ method, not used |
| 48 | * @return PyObject* - A new instance of JSMethodProxy |
| 49 | */ |
| 50 | static PyObject *JSMethodProxy_new(PyTypeObject *type, PyObject *args, PyObject *kwds); |
| 51 | |
| 52 | /** |
| 53 | * @brief Call method (.tp_call), called when the JSMethodProxy is called, properly handling `self` and `this` |
| 54 | * |
| 55 | * @param self - the JSMethodProxy being called |
| 56 | * @param args - args to the method |
| 57 | * @param kwargs - keyword args to the method |
| 58 | * @return PyObject* - Result of the method call |
| 59 | */ |
| 60 | static PyObject *JSMethodProxy_call(PyObject *self, PyObject *args, PyObject *kwargs); |
| 61 | }; |
| 62 | |
| 63 | /** |
| 64 | * @brief Struct for the JSMethodProxyType, used by all JSMethodProxy objects |
nothing calls this directly
no outgoing calls
no test coverage detected