Use qstrs to save an additional 4 bytes

This commit is contained in:
Jeff Epler 2020-08-04 10:59:31 -05:00
parent 92917b84f1
commit c37a25f0e5
4 changed files with 12 additions and 7 deletions

View File

@ -57,8 +57,12 @@ mp_obj_type_t *mp_obj_get_type(mp_const_obj_t o_in) {
}
}
qstr mp_obj_get_type_qstr(mp_const_obj_t o_in) {
return mp_obj_get_type(o_in)->name;
}
const char *mp_obj_get_type_str(mp_const_obj_t o_in) {
return qstr_str(mp_obj_get_type(o_in)->name);
return qstr_str(mp_obj_get_type_qstr(o_in));
}
void mp_obj_print_helper(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) {
@ -263,7 +267,7 @@ mp_int_t mp_obj_get_int(mp_const_obj_t arg) {
mp_raise_TypeError(translate("can't convert to int"));
} else {
mp_raise_TypeError_varg(
translate("can't convert %s to %s"), mp_obj_get_type_str(arg), "int");
translate("can't convert %q to %q"), mp_obj_get_type_qstr(arg), MP_QSTR_int);
}
}
}
@ -326,7 +330,7 @@ mp_float_t mp_obj_get_float(mp_obj_t arg) {
mp_raise_TypeError(translate("can't convert to float"));
} else {
mp_raise_TypeError_varg(
translate("can't convert %s to %s"), mp_obj_get_type_str(arg), "float");
translate("can't convert %q to %q"), mp_obj_get_type_qstr(arg), MP_QSTR_float);
}
}
@ -359,7 +363,7 @@ void mp_obj_get_complex(mp_obj_t arg, mp_float_t *real, mp_float_t *imag) {
mp_raise_TypeError(translate("can't convert to complex"));
} else {
mp_raise_TypeError_varg(
translate("can't convert %s to %s"), mp_obj_get_type_str(arg), "complex");
translate("can't convert %q to %q"), mp_obj_get_type_qstr(arg), MP_QSTR_complex);
}
}
}

View File

@ -680,6 +680,7 @@ mp_obj_t mp_obj_new_memoryview(byte typecode, size_t nitems, void *items);
mp_obj_type_t *mp_obj_get_type(mp_const_obj_t o_in);
const char *mp_obj_get_type_str(mp_const_obj_t o_in);
qstr mp_obj_get_type_qstr(mp_const_obj_t o_in);
bool mp_obj_is_subclass_fast(mp_const_obj_t object, mp_const_obj_t classinfo); // arguments should be type objects
mp_obj_t mp_instance_cast_to_native_base(mp_obj_t self_in, mp_const_obj_t native_type);

View File

@ -141,9 +141,9 @@ STATIC mp_fp_as_int_class_t mp_classify_fp_as_int(mp_float_t val) {
mp_obj_t mp_obj_new_int_from_float(mp_float_t val) {
int cl = fpclassify(val);
if (cl == FP_INFINITE) {
mp_raise_OverflowError_varg(translate("can't convert %s to %s"), "inf", "int");
mp_raise_OverflowError_varg(translate("can't convert %q to %q"), MP_QSTR_inf, MP_QSTR_int);
} else if (cl == FP_NAN) {
mp_raise_ValueError_varg(translate("can't convert %s to %s"), "NaN", "int");
mp_raise_ValueError_varg(translate("can't convert %q to %q"), MP_QSTR_NaN, MP_QSTR_int);
} else {
mp_fp_as_int_class_t icl = mp_classify_fp_as_int(val);
if (icl == MP_FP_CLASS_FIT_SMALLINT) {

View File

@ -86,7 +86,7 @@ STATIC mp_obj_t i2cperipheral_i2c_peripheral_make_new(const mp_obj_type_t *type,
while ((item = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) {
mp_int_t value;
if (!mp_obj_get_int_maybe(item, &value)) {
mp_raise_TypeError_varg(translate("can't convert %s to %s"), "address", "int");
mp_raise_TypeError_varg(translate("can't convert %q to %q"), MP_QSTR_address, MP_QSTR_int);
}
if (value < 0x00 || value > 0x7f) {
mp_raise_ValueError(translate("address out of bounds"));