unix/modjni: jclass.__str__/__repr__: Return Java .toString() value.
This commit is contained in:
parent
0496de26d3
commit
1ea4b77a9a
|
@ -107,13 +107,24 @@ STATIC void check_exception(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
STATIC void print_jobject(const mp_print_t *print, jobject obj) {
|
||||||
|
jobject str_o = JJ(CallObjectMethod, obj, Object_toString_mid);
|
||||||
|
const char *str = JJ(GetStringUTFChars, str_o, NULL);
|
||||||
|
mp_printf(print, str);
|
||||||
|
JJ(ReleaseStringUTFChars, str_o, str);
|
||||||
|
}
|
||||||
|
|
||||||
// jclass
|
// jclass
|
||||||
|
|
||||||
STATIC void jclass_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
|
STATIC void jclass_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
|
||||||
(void)kind;
|
|
||||||
mp_obj_jclass_t *self = self_in;
|
mp_obj_jclass_t *self = self_in;
|
||||||
// Variable value printed as cast to int
|
if (kind == PRINT_REPR) {
|
||||||
mp_printf(print, "<jclass @%p>", self->cls);
|
mp_printf(print, "<jclass @%p \"", self->cls);
|
||||||
|
}
|
||||||
|
print_jobject(print, self->cls);
|
||||||
|
if (kind == PRINT_REPR) {
|
||||||
|
mp_printf(print, "\">");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC void jclass_attr(mp_obj_t self_in, qstr attr_in, mp_obj_t *dest) {
|
STATIC void jclass_attr(mp_obj_t self_in, qstr attr_in, mp_obj_t *dest) {
|
||||||
|
@ -184,10 +195,7 @@ STATIC void jobject_print(const mp_print_t *print, mp_obj_t self_in, mp_print_ki
|
||||||
if (kind == PRINT_REPR) {
|
if (kind == PRINT_REPR) {
|
||||||
mp_printf(print, "<jobject @%p \"", self->obj);
|
mp_printf(print, "<jobject @%p \"", self->obj);
|
||||||
}
|
}
|
||||||
jobject str_o = JJ(CallObjectMethod, self->obj, Object_toString_mid);
|
print_jobject(print, self->obj);
|
||||||
const char *str = JJ(GetStringUTFChars, str_o, NULL);
|
|
||||||
mp_printf(print, str);
|
|
||||||
JJ(ReleaseStringUTFChars, str_o, str);
|
|
||||||
if (kind == PRINT_REPR) {
|
if (kind == PRINT_REPR) {
|
||||||
mp_printf(print, "\">");
|
mp_printf(print, "\">");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue