@@ -118,7 +118,7 @@ STATIC void print_jobject(const mp_print_t *print, jobject obj) {
118
118
// jclass
119
119
120
120
STATIC void jclass_print (const mp_print_t * print , mp_obj_t self_in , mp_print_kind_t kind ) {
121
- mp_obj_jclass_t * self = self_in ;
121
+ mp_obj_jclass_t * self = MP_OBJ_TO_PTR ( self_in ) ;
122
122
if (kind == PRINT_REPR ) {
123
123
mp_printf (print , "<jclass @%p \"" , self -> cls );
124
124
}
@@ -131,7 +131,7 @@ STATIC void jclass_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kin
131
131
STATIC void jclass_attr (mp_obj_t self_in , qstr attr_in , mp_obj_t * dest ) {
132
132
if (dest [0 ] == MP_OBJ_NULL ) {
133
133
// load attribute
134
- mp_obj_jclass_t * self = self_in ;
134
+ mp_obj_jclass_t * self = MP_OBJ_TO_PTR ( self_in ) ;
135
135
const char * attr = qstr_str (attr_in );
136
136
137
137
jstring field_name = JJ (NewStringUTF , attr );
@@ -151,15 +151,15 @@ STATIC void jclass_attr(mp_obj_t self_in, qstr attr_in, mp_obj_t *dest) {
151
151
o -> meth = NULL ;
152
152
o -> obj = self -> cls ;
153
153
o -> is_static = true;
154
- dest [0 ] = o ;
154
+ dest [0 ] = MP_OBJ_FROM_PTR ( o ) ;
155
155
}
156
156
}
157
157
158
158
STATIC mp_obj_t jclass_call (mp_obj_t self_in , size_t n_args , size_t n_kw , const mp_obj_t * args ) {
159
159
if (n_kw != 0 ) {
160
160
mp_raise_TypeError ("kwargs not supported" );
161
161
}
162
- mp_obj_jclass_t * self = self_in ;
162
+ mp_obj_jclass_t * self = MP_OBJ_TO_PTR ( self_in ) ;
163
163
164
164
jarray methods = JJ (CallObjectMethod , self -> cls , Class_getConstructors_mid );
165
165
@@ -186,13 +186,13 @@ STATIC mp_obj_t new_jclass(jclass jc) {
186
186
mp_obj_jclass_t * o = m_new_obj (mp_obj_jclass_t );
187
187
o -> base .type = & jclass_type ;
188
188
o -> cls = jc ;
189
- return o ;
189
+ return MP_OBJ_FROM_PTR ( o ) ;
190
190
}
191
191
192
192
// jobject
193
193
194
194
STATIC void jobject_print (const mp_print_t * print , mp_obj_t self_in , mp_print_kind_t kind ) {
195
- mp_obj_jobject_t * self = self_in ;
195
+ mp_obj_jobject_t * self = MP_OBJ_TO_PTR ( self_in ) ;
196
196
if (kind == PRINT_REPR ) {
197
197
mp_printf (print , "<jobject @%p \"" , self -> obj );
198
198
}
@@ -205,7 +205,7 @@ STATIC void jobject_print(const mp_print_t *print, mp_obj_t self_in, mp_print_ki
205
205
STATIC void jobject_attr (mp_obj_t self_in , qstr attr_in , mp_obj_t * dest ) {
206
206
if (dest [0 ] == MP_OBJ_NULL ) {
207
207
// load attribute
208
- mp_obj_jobject_t * self = self_in ;
208
+ mp_obj_jobject_t * self = MP_OBJ_TO_PTR ( self_in ) ;
209
209
210
210
const char * attr = qstr_str (attr_in );
211
211
jclass obj_class = JJ (GetObjectClass , self -> obj );
@@ -229,7 +229,7 @@ STATIC void jobject_attr(mp_obj_t self_in, qstr attr_in, mp_obj_t *dest) {
229
229
o -> meth = NULL ;
230
230
o -> obj = self -> obj ;
231
231
o -> is_static = false;
232
- dest [0 ] = o ;
232
+ dest [0 ] = MP_OBJ_FROM_PTR ( o ) ;
233
233
}
234
234
}
235
235
@@ -242,7 +242,7 @@ STATIC void get_jclass_name(jobject obj, char *buf) {
242
242
}
243
243
244
244
STATIC mp_obj_t jobject_subscr (mp_obj_t self_in , mp_obj_t index , mp_obj_t value ) {
245
- mp_obj_jobject_t * self = self_in ;
245
+ mp_obj_jobject_t * self = MP_OBJ_TO_PTR ( self_in ) ;
246
246
mp_uint_t idx = mp_obj_get_int (index );
247
247
char class_name [64 ];
248
248
get_jclass_name (self -> obj , class_name );
@@ -292,7 +292,7 @@ return MP_OBJ_NULL;
292
292
}
293
293
294
294
STATIC mp_obj_t jobject_unary_op (mp_unary_op_t op , mp_obj_t self_in ) {
295
- mp_obj_jobject_t * self = self_in ;
295
+ mp_obj_jobject_t * self = MP_OBJ_TO_PTR ( self_in ) ;
296
296
switch (op ) {
297
297
case MP_UNARY_OP_BOOL :
298
298
case MP_UNARY_OP_LEN : {
@@ -317,7 +317,7 @@ MP_DEFINE_CONST_FUN_OBJ_2(subscr_load_adaptor_obj, subscr_load_adaptor);
317
317
// .getiter special method which returns iterator which works in terms
318
318
// of object subscription.
319
319
STATIC mp_obj_t subscr_getiter (mp_obj_t self_in , mp_obj_iter_buf_t * iter_buf ) {
320
- mp_obj_t dest [2 ] = {( mp_obj_t ) & subscr_load_adaptor_obj , self_in };
320
+ mp_obj_t dest [2 ] = {MP_OBJ_FROM_PTR ( & subscr_load_adaptor_obj ) , self_in };
321
321
return mp_obj_new_getitem_iter (dest , iter_buf );
322
322
}
323
323
@@ -346,7 +346,7 @@ STATIC mp_obj_t new_jobject(jobject jo) {
346
346
mp_obj_jobject_t * o = m_new_obj (mp_obj_jobject_t );
347
347
o -> base .type = & jobject_type ;
348
348
o -> obj = jo ;
349
- return o ;
349
+ return MP_OBJ_FROM_PTR ( o ) ;
350
350
}
351
351
352
352
}
@@ -356,7 +356,7 @@ STATIC mp_obj_t new_jobject(jobject jo) {
356
356
357
357
STATIC void jmethod_print (const mp_print_t * print , mp_obj_t self_in , mp_print_kind_t kind ) {
358
358
(void )kind ;
359
- mp_obj_jmethod_t * self = self_in ;
359
+ mp_obj_jmethod_t * self = MP_OBJ_TO_PTR ( self_in ) ;
360
360
// Variable value printed as cast to int
361
361
mp_printf (print , "<jmethod '%s'>" , qstr_str (self -> name ));
362
362
}
@@ -408,7 +408,7 @@ STATIC bool py2jvalue(const char **jtypesig, mp_obj_t arg, jvalue *out) {
408
408
if (!is_object ) {
409
409
return false;
410
410
}
411
- mp_obj_jobject_t * jo = arg ;
411
+ mp_obj_jobject_t * jo = MP_OBJ_TO_PTR ( arg ) ;
412
412
if (!MATCH (expected_type , "java.lang.Object" )) {
413
413
char class_name [64 ];
414
414
get_jclass_name (jo -> obj , class_name );
@@ -490,8 +490,8 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool
490
490
// printf("name=%p meth_name=%s\n", name, meth_name);
491
491
492
492
bool found = true;
493
- for (int i = 0 ; i < n_args && * arg_types != ')' ; i ++ ) {
494
- if (!py2jvalue (& arg_types , args [i ], & jargs [i ])) {
493
+ for (size_t j = 0 ; j < n_args && * arg_types != ')' ; j ++ ) {
494
+ if (!py2jvalue (& arg_types , args [j ], & jargs [j ])) {
495
495
goto next_method ;
496
496
}
497
497
@@ -507,13 +507,12 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool
507
507
if (found ) {
508
508
// printf("found!\n");
509
509
jmethodID method_id = JJ (FromReflectedMethod , meth );
510
- jobject res ;
511
- mp_obj_t ret ;
512
510
if (is_constr ) {
513
511
JJ (ReleaseStringUTFChars , name_o , decl );
514
- res = JJ (NewObjectA , obj , method_id , jargs );
512
+ jobject res = JJ (NewObjectA , obj , method_id , jargs );
515
513
return new_jobject (res );
516
514
} else {
515
+ mp_obj_t ret ;
517
516
if (MATCH (ret_type , "void" )) {
518
517
JJ (CallVoidMethodA , obj , method_id , jargs );
519
518
check_exception ();
@@ -527,7 +526,7 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool
527
526
check_exception ();
528
527
ret = mp_obj_new_bool (res );
529
528
} else if (is_object_type (ret_type )) {
530
- res = JJ (CallObjectMethodA , obj , method_id , jargs );
529
+ jobject res = JJ (CallObjectMethodA , obj , method_id , jargs );
531
530
check_exception ();
532
531
ret = new_jobject (res );
533
532
} else {
@@ -556,7 +555,7 @@ STATIC mp_obj_t jmethod_call(mp_obj_t self_in, size_t n_args, size_t n_kw, const
556
555
if (n_kw != 0 ) {
557
556
mp_raise_TypeError ("kwargs not supported" );
558
557
}
559
- mp_obj_jmethod_t * self = self_in ;
558
+ mp_obj_jmethod_t * self = MP_OBJ_TO_PTR ( self_in ) ;
560
559
561
560
const char * name = qstr_str (self -> name );
562
561
// jstring meth_name = JJ(NewStringUTF, name);
@@ -585,7 +584,7 @@ STATIC const mp_obj_type_t jmethod_type = {
585
584
#define LIBJVM_SO "libjvm.so"
586
585
#endif
587 586
588
- STATIC void create_jvm () {
587
+ STATIC void create_jvm (void ) {
589
588
JavaVMInitArgs args ;
590
589
JavaVMOption options ;
591
590
options .optionString = "-Djava.class.path=." ;
@@ -648,7 +647,7 @@ STATIC mp_obj_t mod_jni_cls(mp_obj_t cls_name_in) {
648
647
mp_obj_jclass_t * o = m_new_obj (mp_obj_jclass_t );
649
648
o -> base .type = & jclass_type ;
650
649
o -> cls = cls ;
651
- return o ;
650
+ return MP_OBJ_FROM_PTR ( o ) ;
652
651
}
653
652
MP_DEFINE_CONST_FUN_OBJ_1 (mod_jni_cls_obj , mod_jni_cls );
654
653
@@ -661,7 +660,7 @@ STATIC mp_obj_t mod_jni_array(mp_obj_t type_in, mp_obj_t size_in) {
661
660
662
661
if (MP_OBJ_IS_TYPE (type_in , & jclass_type )) {
663
662
664
- mp_obj_jclass_t * jcls = type_in ;
663
+ mp_obj_jclass_t * jcls = MP_OBJ_TO_PTR ( type_in ) ;
665
664
res = JJ (NewObjectArray , size , jcls -> cls , NULL );
666
665
667
666
} else if (MP_OBJ_IS_STR (type_in )) {
@@ -700,8 +699,8 @@ STATIC mp_obj_t mod_jni_array(mp_obj_t type_in, mp_obj_t size_in) {
700
699
MP_DEFINE_CONST_FUN_OBJ_2 (mod_jni_array_obj , mod_jni_array );
701
700
702
701
703
- STATIC mp_obj_t mod_jni_env () {
704
- return mp_obj_new_int ((mp_int_t )env );
702
+ STATIC mp_obj_t mod_jni_env (void ) {
703
+ return mp_obj_new_int ((mp_int_t )( uintptr_t ) env );
705
704
}
706
705
MP_DEFINE_CONST_FUN_OBJ_0 (mod_jni_env_obj , mod_jni_env );
707
706
0 commit comments