Showing the changes to java (2 of 2 files). Show all
Unified · Split
| @@ -17,7 +17,8 @@ include "jni.m"; · 16 unmodified lines | ||
| 17 | 17 | JArrayJClass, |
| 18 | 18 | JArrayJString, |
| 19 | 19 | JClass, |
| 20 | − JObject : import jni; | |
| 20 | + JObject, | |
| 21 | + Value : import jni; | |
| 21 | 22 | |
| 22 | 23 | #>> extra pre includes here |
| 23 | 24 | |
| @@ -41,22 +42,30 @@ init( jni_p : JNI ) · 17 unmodified lines | ||
| 41 | 42 | |
| 42 | 43 | doPrivileged_rPrivilegedAction_rObject( p0 : JObject) : JObject |
| 43 | 44 | {#>> |
| 44 | − return nil; | |
| 45 | + if (p0 == nil) | |
| 46 | + jni->ThrowException("java.lang.NullPointerException", "action arg is null"); | |
| 47 | + | |
| 48 | + (obj, result) := jni->CallMethod(p0, ACTION_RUN_METHOD, | |
| 49 | + ACTION_RUN_SIGNATURE, array [0] of ref Value); | |
| 50 | + if (result != jni->OK) | |
| 51 | + jni->FatalError("run() method execute failed"); | |
| 52 | + | |
| 53 | + return obj.Object(); | |
| 45 | 54 | }#<< |
| 46 | 55 | |
| 47 | 56 | doPrivileged_rPrivilegedExceptionAction_rObject( p0 : JObject) : JObject |
| 48 | 57 | {#>> |
| 49 | − return nil; | |
| 58 | + return doPrivileged_rPrivilegedAction_rObject(p0); | |
| 50 | 59 | }#<< |
| 51 | 60 | |
| 52 | 61 | doPrivileged_rPrivilegedAction_rAccessControlContext_rObject( p0 : JObject,p1 : JObject) : JObject |
| 53 | 62 | {#>> |
| 54 | − return nil; | |
| 63 | + return doPrivileged_rPrivilegedAction_rObject(p0); | |
| 55 | 64 | }#<< |
| 56 | 65 | |
| 57 | 66 | doPrivileged_rPrivilegedExceptionAction_rAccessControlContext_rObject( p0 : JObject,p1 : JObject) : JObject |
| 58 | 67 | {#>> |
| 59 | − return nil; | |
| 68 | + return doPrivileged_rPrivilegedAction_rObject(p0); | |
| 60 | 69 | }#<< |
| 61 | 70 | |
| 62 | 71 | getInheritedAccessControlContext_rAccessControlContext( ) : JObject |
| @@ -2,6 +2,9 @@ · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | AccessController_L : module |
| 4 | 4 | { |
| 5 | + ACTION_RUN_METHOD: con "run"; | |
| 6 | + ACTION_RUN_SIGNATURE: con "()Ljava/lang/Object;"; | |
| 7 | + | |
| 5 | 8 | AccessController_obj : adt |
| 6 | 9 | { |
| 7 | 10 | cl_mod : ClassModule; |