diff options
author | Sam Ruby <rubys@php.net> | 2000-07-08 10:35:50 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 2000-07-08 10:35:50 +0000 |
commit | ee36612cef33c7b1e18dd83d54e340d5d5f455ab (patch) | |
tree | 9d16bd7c74fcb16fb911ff01c4214ee87cda5f13 /ext/java/java.c | |
parent | fd3d84ee52855be0638fa313ac4daf4b63546fc7 (diff) | |
download | php-git-ee36612cef33c7b1e18dd83d54e340d5d5f455ab.tar.gz |
Add experimental APIs to get and clear the last exception
Diffstat (limited to 'ext/java/java.c')
-rw-r--r-- | ext/java/java.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ext/java/java.c b/ext/java/java.c index 10ee1391ce..9d0cf7516e 100644 --- a/ext/java/java.c +++ b/ext/java/java.c @@ -384,6 +384,36 @@ void java_call_function_handler /***************************************************************************/ +PHP_FUNCTION(java_last_exception_get) +{ + jlong result = 0; + jmethodID lastEx; + + (pval*)(long)result = return_value; + + lastEx = (*jenv)->GetStaticMethodID(jenv, php_reflect, "lastException", + "(J)V"); + + (*jenv)->CallStaticVoidMethod(jenv, php_reflect, lastEx, result); +} + +/***************************************************************************/ + +PHP_FUNCTION(java_last_exception_clear) +{ + jlong result = 0; + jmethodID clearEx; + + (pval*)(long)result = return_value; + + clearEx = (*jenv)->GetStaticMethodID(jenv, php_reflect, "clearException", + "()V"); + + (*jenv)->CallStaticVoidMethod(jenv, php_reflect, clearEx); +} + +/***************************************************************************/ + static pval _java_getset_property (zend_property_reference *property_reference, jobjectArray value) { @@ -475,6 +505,8 @@ PHP_MSHUTDOWN_FUNCTION(java) { } function_entry java_functions[] = { + PHP_FE(java_last_exception_get, NULL) + PHP_FE(java_last_exception_clear, NULL) {NULL, NULL, NULL} }; |