Object* rvmNewObjectV(Env* env, Class* clazz, Method* method, va_list args) { Object* obj = rvmAllocateObject(env, clazz); if (!obj) return NULL; rvmCallNonvirtualVoidInstanceMethodV(env, obj, method, args); if (rvmExceptionOccurred(env)) return NULL; return obj; }
static void CallNonvirtualVoidMethodV(JNIEnv* env, jobject obj, jclass clazz, jmethodID methodID, va_list args) { rvmCallNonvirtualVoidInstanceMethodV((Env*) env, (Object*) obj, (Method*) methodID, args); }
void rvmCallNonvirtualVoidInstanceMethod(Env* env, Object* obj, Method* method, ...) { va_list args; va_start(args, method); rvmCallNonvirtualVoidInstanceMethodV(env, obj, method, args); }