OSDN Git Service

* include/jni.h (class _Jv_JNIEnv): Added all C++ inline methods.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2000 21:04:44 +0000 (21:04 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2000 21:04:44 +0000 (21:04 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31739 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/include/jni.h

index 906db9d..c80e84e 100644 (file)
@@ -1,5 +1,7 @@
 2000-02-01  Tom Tromey  <tromey@cygnus.com>
 
+       * include/jni.h (class _Jv_JNIEnv): Added all C++ inline methods.
+
        * jni.cc (_Jv_JNI_PopLocalFrame): Leave loop when `n == NULL'.
        (_Jv_JNI_conversion_call): _Jv_JNI_PopLocalFrame will never leave
        `locals == NULL'.
index c5ca7dc..235a379 100644 (file)
@@ -542,13 +542,864 @@ private:
   struct _Jv_JNI_LocalFrame *locals;
 
 public:
-  jclass GetSuperclass (jclass cl)
-  { return p->GetSuperclass (this, cl); }
+  jint GetVersion ()
+  { return p->GetVersion (this); }
 
-  jsize GetStringLength (jstring str)
-  { return p->GetStringLength (this, str); }
-};
+  jclass DefineClass (jobject obj0, const jbyte * val1, jsize val2)
+  { return p->DefineClass (this, obj0, val1, val2); }
+
+  jclass FindClass (const char * val0)
+  { return p->FindClass (this, val0); }
+
+  jmethodID FromReflectedMethod (jobject obj0)
+  { return p->FromReflectedMethod (this, obj0); }
+
+  jfieldID FromReflectedField (jobject obj0)
+  { return p->FromReflectedField (this, obj0); }
+
+  jobject ToReflectedMethod (jclass cl0, jmethodID meth1, jboolean val2)
+  { return p->ToReflectedMethod (this, cl0, meth1, val2); }
+
+  jclass GetSuperclass (jclass cl0)
+  { return p->GetSuperclass (this, cl0); }
+
+  jboolean IsAssignableFrom (jclass cl0, jclass cl1)
+  { return p->IsAssignableFrom (this, cl0, cl1); }
+
+  jobject ToReflectedField (jclass cl0, jfieldID fld1, jboolean val2)
+  { return p->ToReflectedField (this, cl0, fld1, val2); }
+
+  jint Throw (jthrowable val0)
+  { return p->Throw (this, val0); }
+
+  jint ThrowNew (jclass cl0, const char * val1)
+  { return p->ThrowNew (this, cl0, val1); }
+
+  jthrowable ExceptionOccurred ()
+  { return p->ExceptionOccurred (this); }
+
+  void ExceptionDescribe ()
+  { p->ExceptionDescribe (this); }
+
+  void ExceptionClear ()
+  { p->ExceptionClear (this); }
+
+  void FatalError (const char * val0)
+  { p->FatalError (this, val0); }
+
+  jint PushLocalFrame (jint val0)
+  { return p->PushLocalFrame (this, val0); }
+
+  jobject PopLocalFrame (jobject obj0)
+  { return p->PopLocalFrame (this, obj0); }
+
+  jobject NewGlobalRef (jobject obj0)
+  { return p->NewGlobalRef (this, obj0); }
+
+  void DeleteGlobalRef (jobject obj0)
+  { p->DeleteGlobalRef (this, obj0); }
+
+  void DeleteLocalRef (jobject obj0)
+  { p->DeleteLocalRef (this, obj0); }
+
+  jboolean IsSameObject (jobject obj0, jobject obj1)
+  { return p->IsSameObject (this, obj0, obj1); }
+
+  jobject NewLocalRef (jobject obj0)
+  { return p->NewLocalRef (this, obj0); }
+
+  jint EnsureLocalCapacity (jint val0)
+  { return p->EnsureLocalCapacity (this, val0); }
+
+  jobject AllocObject (jclass cl0)
+  { return p->AllocObject (this, cl0); }
+
+  jobject NewObject (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jobject result = p->NewObjectV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jobject NewObjectV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->NewObjectV (this, cl0, meth1, val2); }
+
+  jobject NewObjectA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->NewObjectA (this, cl0, meth1, val2); }
+
+  jclass GetObjectClass (jobject obj0)
+  { return p->GetObjectClass (this, obj0); }
+
+  jboolean IsInstanceOf (jobject obj0, jclass cl1)
+  { return p->IsInstanceOf (this, obj0, cl1); }
+
+  jmethodID GetMethodID (jclass cl0, const char * val1, const char * val2)
+  { return p->GetMethodID (this, cl0, val1, val2); }
+
+  jobject CallObjectMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jobject result = p->CallObjectMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jobject CallObjectMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallObjectMethodV (this, obj0, meth1, val2); }
+
+  jobject CallObjectMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallObjectMethodA (this, obj0, meth1, val2); }
+
+  jboolean CallBooleanMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jboolean result = p->CallBooleanMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jboolean CallBooleanMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallBooleanMethodV (this, obj0, meth1, val2); }
+
+  jboolean CallBooleanMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallBooleanMethodA (this, obj0, meth1, val2); }
+
+  jbyte CallByteMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jbyte result = p->CallByteMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jbyte CallByteMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallByteMethodV (this, obj0, meth1, val2); }
+
+  jbyte CallByteMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallByteMethodA (this, obj0, meth1, val2); }
+
+  jchar CallCharMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jchar result = p->CallCharMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jchar CallCharMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallCharMethodV (this, obj0, meth1, val2); }
+
+  jchar CallCharMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallCharMethodA (this, obj0, meth1, val2); }
+
+  jshort CallShortMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jshort result = p->CallShortMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jshort CallShortMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallShortMethodV (this, obj0, meth1, val2); }
+
+  jshort CallShortMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallShortMethodA (this, obj0, meth1, val2); }
+
+  jint CallIntMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jint result = p->CallIntMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jint CallIntMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallIntMethodV (this, obj0, meth1, val2); }
+
+  jint CallIntMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallIntMethodA (this, obj0, meth1, val2); }
+
+  jlong CallLongMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jlong result = p->CallLongMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jlong CallLongMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallLongMethodV (this, obj0, meth1, val2); }
+
+  jlong CallLongMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallLongMethodA (this, obj0, meth1, val2); }
+
+  jfloat CallFloatMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jfloat result = p->CallFloatMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jfloat CallFloatMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallFloatMethodV (this, obj0, meth1, val2); }
+
+  jfloat CallFloatMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallFloatMethodA (this, obj0, meth1, val2); }
+
+  jdouble CallDoubleMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jdouble result = p->CallDoubleMethodV (this, obj0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jdouble CallDoubleMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallDoubleMethodV (this, obj0, meth1, val2); }
+
+  jdouble CallDoubleMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { return p->CallDoubleMethodA (this, obj0, meth1, val2); }
+
+  void CallVoidMethod (jobject obj0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    p->CallVoidMethodV (this, obj0, meth1, args);
+    va_end (args);
+  }
+
+  void CallVoidMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
+  { p->CallVoidMethodV (this, obj0, meth1, val2); }
+
+  void CallVoidMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
+  { p->CallVoidMethodA (this, obj0, meth1, val2); }
+
+  jobject CallNonvirtualObjectMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jobject result = p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jobject CallNonvirtualObjectMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, val3); }
+
+  jobject CallNonvirtualObjectMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualObjectMethodA (this, obj0, cl1, meth2, val3); }
+
+  jboolean CallNonvirtualBooleanMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jboolean result = p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jboolean CallNonvirtualBooleanMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, val3); }
+
+  jboolean CallNonvirtualBooleanMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualBooleanMethodA (this, obj0, cl1, meth2, val3); }
+
+  jbyte CallNonvirtualByteMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jbyte result = p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jbyte CallNonvirtualByteMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, val3); }
+
+  jbyte CallNonvirtualByteMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualByteMethodA (this, obj0, cl1, meth2, val3); }
+
+  jchar CallNonvirtualCharMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jchar result = p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jchar CallNonvirtualCharMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, val3); }
+
+  jchar CallNonvirtualCharMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualCharMethodA (this, obj0, cl1, meth2, val3); }
+
+  jshort CallNonvirtualShortMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jshort result = p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jshort CallNonvirtualShortMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, val3); }
+
+  jshort CallNonvirtualShortMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualShortMethodA (this, obj0, cl1, meth2, val3); }
+
+  jint CallNonvirtualIntMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jint result = p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jint CallNonvirtualIntMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, val3); }
+
+  jint CallNonvirtualIntMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualIntMethodA (this, obj0, cl1, meth2, val3); }
+
+  jlong CallNonvirtualLongMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jlong result = p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jlong CallNonvirtualLongMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, val3); }
+
+  jlong CallNonvirtualLongMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualLongMethodA (this, obj0, cl1, meth2, val3); }
+
+  jfloat CallNonvirtualFloatMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jfloat result = p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jfloat CallNonvirtualFloatMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, val3); }
+
+  jfloat CallNonvirtualFloatMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualFloatMethodA (this, obj0, cl1, meth2, val3); }
+
+  jdouble CallNonvirtualDoubleMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    jdouble result = p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+    return result;
+  }
+
+  jdouble CallNonvirtualDoubleMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { return p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, val3); }
+
+  jdouble CallNonvirtualDoubleMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { return p->CallNonvirtualDoubleMethodA (this, obj0, cl1, meth2, val3); }
+
+  void CallNonvirtualVoidMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, cl1);
+    p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, args);
+    va_end (args);
+  }
+
+  void CallNonvirtualVoidMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
+  { p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, val3); }
+
+  void CallNonvirtualVoidMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
+  { p->CallNonvirtualVoidMethodA (this, obj0, cl1, meth2, val3); }
+
+  jfieldID GetFieldID (jclass cl0, const char * val1, const char * val2)
+  { return p->GetFieldID (this, cl0, val1, val2); }
+
+  jobject GetObjectField (jobject obj0, jfieldID fld1)
+  { return p->GetObjectField (this, obj0, fld1); }
+
+  jboolean GetBooleanField (jobject obj0, jfieldID fld1)
+  { return p->GetBooleanField (this, obj0, fld1); }
+
+  jbyte GetByteField (jobject obj0, jfieldID fld1)
+  { return p->GetByteField (this, obj0, fld1); }
+
+  jchar GetCharField (jobject obj0, jfieldID fld1)
+  { return p->GetCharField (this, obj0, fld1); }
+
+  jshort GetShortField (jobject obj0, jfieldID fld1)
+  { return p->GetShortField (this, obj0, fld1); }
+
+  jint GetIntField (jobject obj0, jfieldID fld1)
+  { return p->GetIntField (this, obj0, fld1); }
+
+  jlong GetLongField (jobject obj0, jfieldID fld1)
+  { return p->GetLongField (this, obj0, fld1); }
+
+  jfloat GetFloatField (jobject obj0, jfieldID fld1)
+  { return p->GetFloatField (this, obj0, fld1); }
+
+  jdouble GetDoubleField (jobject obj0, jfieldID fld1)
+  { return p->GetDoubleField (this, obj0, fld1); }
+
+  void SetObjectField (jobject obj0, jfieldID fld1, jobject obj2)
+  { p->SetObjectField (this, obj0, fld1, obj2); }
+
+  void SetBooleanField (jobject obj0, jfieldID fld1, jboolean val2)
+  { p->SetBooleanField (this, obj0, fld1, val2); }
+
+  void SetByteField (jobject obj0, jfieldID fld1, jbyte val2)
+  { p->SetByteField (this, obj0, fld1, val2); }
+
+  void SetCharField (jobject obj0, jfieldID fld1, jchar val2)
+  { p->SetCharField (this, obj0, fld1, val2); }
+
+  void SetShortField (jobject obj0, jfieldID fld1, jshort val2)
+  { p->SetShortField (this, obj0, fld1, val2); }
+
+  void SetIntField (jobject obj0, jfieldID fld1, jint val2)
+  { p->SetIntField (this, obj0, fld1, val2); }
+
+  void SetLongField (jobject obj0, jfieldID fld1, jlong val2)
+  { p->SetLongField (this, obj0, fld1, val2); }
+
+  void SetFloatField (jobject obj0, jfieldID fld1, jfloat val2)
+  { p->SetFloatField (this, obj0, fld1, val2); }
+
+  void SetDoubleField (jobject obj0, jfieldID fld1, jdouble val2)
+  { p->SetDoubleField (this, obj0, fld1, val2); }
+
+  jmethodID GetStaticMethodID (jclass cl0, const char * val1, const char * val2)
+  { return p->GetStaticMethodID (this, cl0, val1, val2); }
+
+  jobject CallStaticObjectMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jobject result = p->CallStaticObjectMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jobject CallStaticObjectMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticObjectMethodV (this, cl0, meth1, val2); }
+
+  jobject CallStaticObjectMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticObjectMethodA (this, cl0, meth1, val2); }
+
+  jboolean CallStaticBooleanMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jboolean result = p->CallStaticBooleanMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jboolean CallStaticBooleanMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticBooleanMethodV (this, cl0, meth1, val2); }
+
+  jboolean CallStaticBooleanMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticBooleanMethodA (this, cl0, meth1, val2); }
+
+  jbyte CallStaticByteMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jbyte result = p->CallStaticByteMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jbyte CallStaticByteMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticByteMethodV (this, cl0, meth1, val2); }
+
+  jbyte CallStaticByteMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticByteMethodA (this, cl0, meth1, val2); }
+
+  jchar CallStaticCharMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jchar result = p->CallStaticCharMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jchar CallStaticCharMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticCharMethodV (this, cl0, meth1, val2); }
+
+  jchar CallStaticCharMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticCharMethodA (this, cl0, meth1, val2); }
+
+  jshort CallStaticShortMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jshort result = p->CallStaticShortMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jshort CallStaticShortMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticShortMethodV (this, cl0, meth1, val2); }
+
+  jshort CallStaticShortMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticShortMethodA (this, cl0, meth1, val2); }
+
+  jint CallStaticIntMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jint result = p->CallStaticIntMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jint CallStaticIntMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticIntMethodV (this, cl0, meth1, val2); }
+
+  jint CallStaticIntMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticIntMethodA (this, cl0, meth1, val2); }
+
+  jlong CallStaticLongMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jlong result = p->CallStaticLongMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jlong CallStaticLongMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticLongMethodV (this, cl0, meth1, val2); }
+
+  jlong CallStaticLongMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticLongMethodA (this, cl0, meth1, val2); }
+
+  jfloat CallStaticFloatMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jfloat result = p->CallStaticFloatMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jfloat CallStaticFloatMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticFloatMethodV (this, cl0, meth1, val2); }
+
+  jfloat CallStaticFloatMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticFloatMethodA (this, cl0, meth1, val2); }
+
+  jdouble CallStaticDoubleMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    jdouble result = p->CallStaticDoubleMethodV (this, cl0, meth1, args);
+    va_end (args);
+    return result;
+  }
+
+  jdouble CallStaticDoubleMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { return p->CallStaticDoubleMethodV (this, cl0, meth1, val2); }
+
+  jdouble CallStaticDoubleMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { return p->CallStaticDoubleMethodA (this, cl0, meth1, val2); }
+
+  void CallStaticVoidMethod (jclass cl0, jmethodID meth1, ...)
+  {
+    _Jv_va_list args;
+    va_start (args, meth1);
+    p->CallStaticVoidMethodV (this, cl0, meth1, args);
+    va_end (args);
+  }
+
+  void CallStaticVoidMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
+  { p->CallStaticVoidMethodV (this, cl0, meth1, val2); }
+
+  void CallStaticVoidMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
+  { p->CallStaticVoidMethodA (this, cl0, meth1, val2); }
+
+  jfieldID GetStaticFieldID (jclass cl0, const char * val1, const char * val2)
+  { return p->GetStaticFieldID (this, cl0, val1, val2); }
+
+  jobject GetStaticObjectField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticObjectField (this, cl0, fld1); }
+
+  jboolean GetStaticBooleanField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticBooleanField (this, cl0, fld1); }
+
+  jbyte GetStaticByteField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticByteField (this, cl0, fld1); }
+
+  jchar GetStaticCharField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticCharField (this, cl0, fld1); }
+
+  jshort GetStaticShortField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticShortField (this, cl0, fld1); }
+
+  jint GetStaticIntField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticIntField (this, cl0, fld1); }
+
+  jlong GetStaticLongField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticLongField (this, cl0, fld1); }
+
+  jfloat GetStaticFloatField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticFloatField (this, cl0, fld1); }
+
+  jdouble GetStaticDoubleField (jclass cl0, jfieldID fld1)
+  { return p->GetStaticDoubleField (this, cl0, fld1); }
+
+  void SetStaticObjectField (jclass cl0, jfieldID fld1, jobject obj2)
+  { p->SetStaticObjectField (this, cl0, fld1, obj2); }
+
+  void SetStaticBooleanField (jclass cl0, jfieldID fld1, jboolean val2)
+  { p->SetStaticBooleanField (this, cl0, fld1, val2); }
+
+  void SetStaticByteField (jclass cl0, jfieldID fld1, jbyte val2)
+  { p->SetStaticByteField (this, cl0, fld1, val2); }
+
+  void SetStaticCharField (jclass cl0, jfieldID fld1, jchar val2)
+  { p->SetStaticCharField (this, cl0, fld1, val2); }
+
+  void SetStaticShortField (jclass cl0, jfieldID fld1, jshort val2)
+  { p->SetStaticShortField (this, cl0, fld1, val2); }
+
+  void SetStaticIntField (jclass cl0, jfieldID fld1, jint val2)
+  { p->SetStaticIntField (this, cl0, fld1, val2); }
+
+  void SetStaticLongField (jclass cl0, jfieldID fld1, jlong val2)
+  { p->SetStaticLongField (this, cl0, fld1, val2); }
+
+  void SetStaticFloatField (jclass cl0, jfieldID fld1, jfloat val2)
+  { p->SetStaticFloatField (this, cl0, fld1, val2); }
+
+  void SetStaticDoubleField (jclass cl0, jfieldID fld1, jdouble val2)
+  { p->SetStaticDoubleField (this, cl0, fld1, val2); }
+
+  jstring NewString (const jchar * val0, jsize val1)
+  { return p->NewString (this, val0, val1); }
+
+  jint GetStringLength (jstring val0)
+  { return p->GetStringLength (this, val0); }
+
+  const jchar * GetStringChars (jstring val0, jboolean * val1)
+  { return p->GetStringChars (this, val0, val1); }
+
+  void ReleaseStringChars (jstring val0, const jchar * val1)
+  { p->ReleaseStringChars (this, val0, val1); }
+
+  jstring NewStringUTF (const char * val0)
+  { return p->NewStringUTF (this, val0); }
 
+  jsize GetStringUTFLength (jstring val0)
+  { return p->GetStringUTFLength (this, val0); }
+
+  const char * GetStringUTFChars (jstring val0, jboolean * val1)
+  { return p->GetStringUTFChars (this, val0, val1); }
+
+  void ReleaseStringUTFChars (jstring val0, const char * val1)
+  { p->ReleaseStringUTFChars (this, val0, val1); }
+
+  jsize GetArrayLength (jarray val0)
+  { return p->GetArrayLength (this, val0); }
+
+  jarray NewObjectArray (jsize val0, jclass cl1, jobject obj2)
+  { return p->NewObjectArray (this, val0, cl1, obj2); }
+
+  jobject GetObjectArrayElement (jobjectArray val0, jsize val1)
+  { return p->GetObjectArrayElement (this, val0, val1); }
+
+  void SetObjectArrayElement (jobjectArray val0, jsize val1, jobject obj2)
+  { p->SetObjectArrayElement (this, val0, val1, obj2); }
+
+  jbooleanArray NewBooleanArray (jsize val0)
+  { return p->NewBooleanArray (this, val0); }
+
+  jbyteArray NewByteArray (jsize val0)
+  { return p->NewByteArray (this, val0); }
+
+  jcharArray NewCharArray (jsize val0)
+  { return p->NewCharArray (this, val0); }
+
+  jshortArray NewShortArray (jsize val0)
+  { return p->NewShortArray (this, val0); }
+
+  jintArray NewIntArray (jsize val0)
+  { return p->NewIntArray (this, val0); }
+
+  jlongArray NewLongArray (jsize val0)
+  { return p->NewLongArray (this, val0); }
+
+  jfloatArray NewFloatArray (jsize val0)
+  { return p->NewFloatArray (this, val0); }
+
+  jdoubleArray NewDoubleArray (jsize val0)
+  { return p->NewDoubleArray (this, val0); }
+
+  jboolean * GetBooleanArrayElements (jbooleanArray val0, jboolean * val1)
+  { return p->GetBooleanArrayElements (this, val0, val1); }
+
+  jbyte * GetByteArrayElements (jbyteArray val0, jboolean * val1)
+  { return p->GetByteArrayElements (this, val0, val1); }
+
+  jchar * GetCharArrayElements (jcharArray val0, jboolean * val1)
+  { return p->GetCharArrayElements (this, val0, val1); }
+
+  jshort * GetShortArrayElements (jshortArray val0, jboolean * val1)
+  { return p->GetShortArrayElements (this, val0, val1); }
+
+  jint * GetIntArrayElements (jintArray val0, jboolean * val1)
+  { return p->GetIntArrayElements (this, val0, val1); }
+
+  jlong * GetLongArrayElements (jlongArray val0, jboolean * val1)
+  { return p->GetLongArrayElements (this, val0, val1); }
+
+  jfloat * GetFloatArrayElements (jfloatArray val0, jboolean * val1)
+  { return p->GetFloatArrayElements (this, val0, val1); }
+
+  jdouble * GetDoubleArrayElements (jdoubleArray val0, jboolean * val1)
+  { return p->GetDoubleArrayElements (this, val0, val1); }
+
+  void ReleaseBooleanArrayElements (jbooleanArray val0, jboolean * val1, jint val2)
+  { p->ReleaseBooleanArrayElements (this, val0, val1, val2); }
+
+  void ReleaseByteArrayElements (jbyteArray val0, jbyte * val1, jint val2)
+  { p->ReleaseByteArrayElements (this, val0, val1, val2); }
+
+  void ReleaseCharArrayElements (jcharArray val0, jchar * val1, jint val2)
+  { p->ReleaseCharArrayElements (this, val0, val1, val2); }
+
+  void ReleaseShortArrayElements (jshortArray val0, jshort * val1, jint val2)
+  { p->ReleaseShortArrayElements (this, val0, val1, val2); }
+
+  void ReleaseIntArrayElements (jintArray val0, jint * val1, jint val2)
+  { p->ReleaseIntArrayElements (this, val0, val1, val2); }
+
+  void ReleaseLongArrayElements (jlongArray val0, jlong * val1, jint val2)
+  { p->ReleaseLongArrayElements (this, val0, val1, val2); }
+
+  void ReleaseFloatArrayElements (jfloatArray val0, jfloat * val1, jint val2)
+  { p->ReleaseFloatArrayElements (this, val0, val1, val2); }
+
+  void ReleaseDoubleArrayElements (jdoubleArray val0, jdouble * val1, jint val2)
+  { p->ReleaseDoubleArrayElements (this, val0, val1, val2); }
+
+  void GetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetBooleanArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetByteArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetByteArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetCharArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetCharArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetShortArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetShortArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetIntArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetIntArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetLongArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetLongArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetFloatArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetFloatArrayRegion (this, val0, val1, val2, val3); }
+
+  void GetDoubleArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->GetDoubleArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetBooleanArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetByteArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetByteArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetCharArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetCharArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetShortArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetShortArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetIntArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetIntArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetLongArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetLongArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetFloatArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetFloatArrayRegion (this, val0, val1, val2, val3); }
+
+  void SetDoubleArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
+  { p->SetDoubleArrayRegion (this, val0, val1, val2, val3); }
+
+  jint RegisterNatives (jclass cl0, const JNINativeMethod * val1, jint val2)
+  { return p->RegisterNatives (this, cl0, val1, val2); }
+
+  jint UnregisterNatives (jclass cl0)
+  { return p->UnregisterNatives (this, cl0); }
+
+  jint MonitorEnter (jobject obj0)
+  { return p->MonitorEnter (this, obj0); }
+
+  jint MonitorExit (jobject obj0)
+  { return p->MonitorExit (this, obj0); }
+
+  jint GetJavaVM (JavaVM ** val0)
+  { return p->GetJavaVM (this, val0); }
+
+  void GetStringRegion (jstring val0, jsize val1, jsize val2, jchar * val3)
+  { p->GetStringRegion (this, val0, val1, val2, val3); }
+
+  void GetStringUTFRegion (jstring val0, jsize val1, jsize val2, char * val3)
+  { p->GetStringUTFRegion (this, val0, val1, val2, val3); }
+
+  void * GetPrimitiveArrayCritical (jarray val0, jboolean * val1)
+  { return p->GetPrimitiveArrayCritical (this, val0, val1); }
+
+  void ReleasePrimitiveArrayCritical (jarray val0, void * val1, jint val2)
+  { p->ReleasePrimitiveArrayCritical (this, val0, val1, val2); }
+
+  const jchar * GetStringCritical (jstring val0, jboolean * val1)
+  { return p->GetStringCritical (this, val0, val1); }
+
+  void ReleaseStringCritical (jstring val0, const jchar * val1)
+  { p->ReleaseStringCritical (this, val0, val1); }
+
+  jweak NewWeakGlobalRef (jobject obj0)
+  { return p->NewWeakGlobalRef (this, obj0); }
+
+  void DeleteWeakGlobalRef (jweak val0)
+  { p->DeleteWeakGlobalRef (this, val0); }
+
+  jboolean ExceptionCheck ()
+  { return p->ExceptionCheck (this); }
+};
 #endif /* __cplusplus */
 
 #endif /* __GCJ_JNI_H__ */