| 853 | |
| 854 | Variant ret; |
| 855 | OBJ_DEBUG_LOCK |
| 856 | |
| 857 | if (script_instance) { |
| 858 | ret = script_instance->callp(p_method, p_args, p_argcount, r_error); |
| 859 | // Force jump table. |
| 860 | switch (r_error.error) { |
| 861 | case Callable::CallError::CALL_OK: |
| 862 | return ret; |
| 863 | case Callable::CallError::CALL_ERROR_INVALID_METHOD: |
| 864 | break; |
| 865 | case Callable::CallError::CALL_ERROR_INVALID_ARGUMENT: |
| 866 | case Callable::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS: |
| 867 | case Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS: |
| 868 | case Callable::CallError::CALL_ERROR_METHOD_NOT_CONST: |
| 869 | return ret; |
| 870 | case Callable::CallError::CALL_ERROR_INSTANCE_IS_NULL: { |
| 871 | } |
| 872 | } |
| 873 | } |
| 874 | |
| 875 | //extension does not need this, because all methods are registered in MethodBind |
| 876 |
no test coverage detected