unix/modjni: Don't pass Java object to a method which doesn't expect it.
For example, don't pass Integer to double method. This is still not selective enough to choose the right overloaded method maong those taking objects.
This commit is contained in:
parent
9273cca432
commit
9ebd4dabf2
|
@ -362,9 +362,19 @@ STATIC bool py2jvalue(const char **jtypesig, mp_obj_t arg, jvalue *out) {
|
|||
}
|
||||
} else if (type == &jobject_type) {
|
||||
printf("TODO: Check java arg type!!\n");
|
||||
while (isalpha(*arg_type) || *arg_type == '.') {
|
||||
bool is_object = false;
|
||||
while (1) {
|
||||
if (isalpha(*arg_type)) {
|
||||
} else if (*arg_type == '.') {
|
||||
is_object = true;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
arg_type++;
|
||||
}
|
||||
if (!is_object) {
|
||||
return false;
|
||||
}
|
||||
mp_obj_jobject_t *jo = arg;
|
||||
out->l = jo->obj;
|
||||
} else if (type == &mp_type_bool) {
|
||||
|
|
Loading…
Reference in New Issue