| 4640 | } |
| 4641 | |
| 4642 | FUNCTION * function_python( PyObject * function, PyObject * bjam_signature ) |
| 4643 | { |
| 4644 | PYTHON_FUNCTION * result = BJAM_MALLOC( sizeof( PYTHON_FUNCTION ) ); |
| 4645 | |
| 4646 | result->base.type = FUNCTION_PYTHON; |
| 4647 | result->base.reference_count = 1; |
| 4648 | result->base.rulename = 0; |
| 4649 | result->base.formal_arguments = arg_list_compile_python( bjam_signature, |
| 4650 | &result->base.num_formal_arguments ); |
| 4651 | Py_INCREF( function ); |
| 4652 | result->python_function = function; |
| 4653 | |
| 4654 | return (FUNCTION *)result; |
| 4655 | } |
| 4656 | |
| 4657 | |
| 4658 | static void argument_list_to_python( struct arg_list * formal, int formal_count, |
no test coverage detected