Browse Source

unix/modjni: Return any object type value as a jobject.

pull/1439/merge
Paul Sokolovsky 9 years ago
parent
commit
b230a86d33
  1. 18
      unix/modjni.c

18
unix/modjni.c

@ -237,14 +237,22 @@ ret_string:;
ret = mp_obj_new_str(s, strlen(s), false);
JJ(ReleaseStringUTFChars, arg, s);
return ret;
} else if (MATCH(jtypesig, "java.lang.Object")) {
if (JJ(IsInstanceOf, arg, String_class)) {
goto ret_string;
} else {
return new_jobject(arg);
} else {
while (*jtypesig != ' ' && *jtypesig) {
if (*jtypesig == '.') {
// Non-primitive, object type
if (JJ(IsInstanceOf, arg, String_class)) {
goto ret_string;
} else {
return new_jobject(arg);
}
}
jtypesig++;
}
}
printf("Unknown return type: %s\n", jtypesig);
return MP_OBJ_NULL;
}

Loading…
Cancel
Save