Object* rvmNewObjectA(Env* env, Class* clazz, Method* method, jvalue *args) { Object* obj = rvmAllocateObject(env, clazz); if (!obj) return NULL; rvmCallNonvirtualVoidInstanceMethodA(env, obj, method, args); if (rvmExceptionOccurred(env)) return NULL; return obj; }
static void CallNonvirtualVoidMethodA(JNIEnv* env, jobject obj, jclass clazz, jmethodID methodID, jvalue* args) { rvmCallNonvirtualVoidInstanceMethodA((Env*) env, (Object*) obj, (Method*) methodID, args); }
void rvmCallNonvirtualVoidInstanceMethodV(Env* env, Object* obj, Method* method, va_list args) { jvalue* jargs = va_list2jargs(env, method, args); if (!jargs) return; rvmCallNonvirtualVoidInstanceMethodA(env, obj, method, jargs); }