jni.cc (_Jv_JNI_GetField): Specialize for jobject.
* jni.cc (_Jv_JNI_GetField): Specialize for jobject. (_Jv_JNI_GetStaticField): Likewise. From-SVN: r31735
This commit is contained in:
parent
ef2362a417
commit
5dc489c190
2 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2000-02-01 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* jni.cc (_Jv_JNI_GetField): Specialize for jobject.
|
||||
(_Jv_JNI_GetStaticField): Likewise.
|
||||
|
||||
2000-01-31 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* prims.cc (_Jv_MallocUnchecked): New function.
|
||||
|
|
|
@ -811,7 +811,6 @@ _Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id,
|
|||
|
||||
|
||||
|
||||
// FIXME: local reference
|
||||
template<typename T>
|
||||
static T
|
||||
_Jv_JNI_GetField (JNIEnv *, jobject obj, jfieldID field)
|
||||
|
@ -820,6 +819,14 @@ _Jv_JNI_GetField (JNIEnv *, jobject obj, jfieldID field)
|
|||
return *ptr;
|
||||
}
|
||||
|
||||
template<>
|
||||
static jobject
|
||||
_Jv_JNI_GetField<jobject> (JNIEnv *env, jobject obj, jfieldID field)
|
||||
{
|
||||
jobject *ptr = (jobject *) ((char *) obj + field->getOffset ());
|
||||
return _Jv_JNI_NewLocalRef (env, *ptr);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static void
|
||||
_Jv_JNI_SetField (JNIEnv *, jobject obj, jfieldID field, T value)
|
||||
|
@ -888,6 +895,14 @@ _Jv_JNI_GetStaticField (JNIEnv *, jclass, jfieldID field)
|
|||
return *ptr;
|
||||
}
|
||||
|
||||
template<>
|
||||
static jobject
|
||||
_Jv_JNI_GetStaticField<jobject> (JNIEnv *env, jclass, jfieldID field)
|
||||
{
|
||||
jobject *ptr = (jobject *) field->u.addr;
|
||||
return _Jv_JNI_NewLocalRef (env, *ptr);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static void
|
||||
_Jv_JNI_SetStaticField (JNIEnv *, jclass, jfieldID field, T value)
|
||||
|
|
Loading…
Add table
Reference in a new issue