195 |
{ |
{ |
196 |
#ifdef POINTERS_ARE_64BIT |
#ifdef POINTERS_ARE_64BIT |
197 |
rawDataClass = (*env)->FindClass (env, "gnu/classpath/RawData64"); |
rawDataClass = (*env)->FindClass (env, "gnu/classpath/RawData64"); |
198 |
|
if (rawDataClass == NULL) |
199 |
|
{ |
200 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
201 |
|
"unable to find internal class"); |
202 |
|
return NULL; |
203 |
|
} |
204 |
|
|
205 |
rawData_mid = (*env)->GetMethodID (env, rawDataClass, "<init>", "(J)V"); |
rawData_mid = (*env)->GetMethodID (env, rawDataClass, "<init>", "(J)V"); |
206 |
|
if (rawData_mid == NULL) |
207 |
|
{ |
208 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
209 |
|
"unable to find internal constructor"); |
210 |
|
return NULL; |
211 |
|
} |
212 |
|
|
213 |
rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "J"); |
rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "J"); |
214 |
|
if (rawData_fid == NULL) |
215 |
|
{ |
216 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
217 |
|
"unable to find internal field"); |
218 |
|
return NULL; |
219 |
|
} |
220 |
#else |
#else |
221 |
rawDataClass = (*env)->FindClass (env, "gnu/classpath/RawData32"); |
rawDataClass = (*env)->FindClass (env, "gnu/classpath/RawData32"); |
222 |
|
if (rawDataClass == NULL) |
223 |
|
{ |
224 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
225 |
|
"unable to find internal class"); |
226 |
|
return NULL; |
227 |
|
} |
228 |
|
|
229 |
rawData_mid = (*env)->GetMethodID (env, rawDataClass, "<init>", "(I)V"); |
rawData_mid = (*env)->GetMethodID (env, rawDataClass, "<init>", "(I)V"); |
230 |
|
if (rawData_mid == NULL) |
231 |
|
{ |
232 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
233 |
|
"unable to find internal constructor"); |
234 |
|
return NULL; |
235 |
|
} |
236 |
|
|
237 |
rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "I"); |
rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "I"); |
238 |
|
if (rawData_fid == NULL) |
239 |
|
{ |
240 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
241 |
|
"unable to find internal field"); |
242 |
|
return NULL; |
243 |
|
} |
244 |
|
|
245 |
#endif |
#endif |
246 |
(*env)->DeleteLocalRef(env, rawDataClass); |
(*env)->DeleteLocalRef(env, rawDataClass); |
247 |
rawDataClass = (*env)->NewGlobalRef (env, rawDataClass); |
rawDataClass = (*env)->NewGlobalRef (env, rawDataClass); |
248 |
|
if (rawDataClass = NULL) |
249 |
|
{ |
250 |
|
JCL_ThrowException (env, "java/lang/InternalError", |
251 |
|
"unable to create an internal global ref"); |
252 |
|
return NULL; |
253 |
|
} |
254 |
} |
} |
255 |
|
|
256 |
#ifdef POINTERS_ARE_64BIT |
#ifdef POINTERS_ARE_64BIT |