180 |
cls = (*env)->GetObjectClass (env, obj); |
cls = (*env)->GetObjectClass (env, obj); |
181 |
data_fid = (*env)->GetFieldID (env, cls, "data", "Lgnu/classpath/RawData;"); |
data_fid = (*env)->GetFieldID (env, cls, "data", "Lgnu/classpath/RawData;"); |
182 |
assert (data_fid != 0); |
assert (data_fid != 0); |
183 |
|
|
184 |
#ifdef POINTERS_ARE_64BIT |
data = JCL_NewRawDataObject (env, ptr); |
|
cls = (*env)->FindClass (env, "gnu/classpath/RawData64"); |
|
|
method = (*env)->GetMethodID (env, cls, "<init>", "(J)V"); |
|
|
data = (*env)->NewObject (env, cls, method, (jlong) ptr); |
|
|
#else |
|
|
cls = (*env)->FindClass (env, "gnu/classpath/RawData32"); |
|
|
method = (*env)->GetMethodID (env, cls, "<init>", "(I)V"); |
|
|
data = (*env)->NewObject (env, cls, method, (jint) ptr); |
|
|
#endif |
|
185 |
|
|
186 |
(*env)->SetObjectField (env, obj, data_fid, data); |
(*env)->SetObjectField (env, obj, data_fid, data); |
187 |
} |
} |
199 |
assert (data_fid != 0); |
assert (data_fid != 0); |
200 |
data = (*env)->GetObjectField (env, obj, data_fid); |
data = (*env)->GetObjectField (env, obj, data_fid); |
201 |
|
|
202 |
#if SIZEOF_VOID_P == 8 |
return JCL_GetRawDataObject(env, data); |
|
cls = (*env)->FindClass (env, "gnu/classpath/RawData64"); |
|
|
field = (*env)->GetFieldID (env, cls, "data", "J"); |
|
|
return (void *) (*env)->GetLongField (env, data, field); |
|
|
#else |
|
|
cls = (*env)->FindClass (env, "gnu/classpath/RawData32"); |
|
|
field = (*env)->GetFieldID (env, cls, "data", "I"); |
|
|
return (void *) (*env)->GetIntField (env, data, field); |
|
|
#endif |
|
203 |
} |
} |