diff options
| author | Jeff Epler <jepler@gmail.com> | 2020-08-04 10:59:31 -0500 |
|---|---|---|
| committer | Jeff Epler <jepler@gmail.com> | 2020-08-04 14:45:45 -0500 |
| commit | c37a25f0e5d1c877909855f6a3294e43b854bbbd (patch) | |
| tree | 14c0cae44c69847fd94504f110f1ebc86883031c | |
| parent | 92917b84f1a173a06d337d82a7a5568f680ff268 (diff) | |
Use qstrs to save an additional 4 bytes
| -rw-r--r-- | py/obj.c | 12 | ||||
| -rw-r--r-- | py/obj.h | 1 | ||||
| -rw-r--r-- | py/objint.c | 4 | ||||
| -rw-r--r-- | shared-bindings/i2cperipheral/I2CPeripheral.c | 2 |
4 files changed, 12 insertions, 7 deletions
@@ -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); } } } @@ -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); diff --git a/py/objint.c b/py/objint.c index 7726fb8d8..b12bb3995 100644 --- a/py/objint.c +++ b/py/objint.c @@ -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) { diff --git a/shared-bindings/i2cperipheral/I2CPeripheral.c b/shared-bindings/i2cperipheral/I2CPeripheral.c index 39f787062..dfc58cd24 100644 --- a/shared-bindings/i2cperipheral/I2CPeripheral.c +++ b/shared-bindings/i2cperipheral/I2CPeripheral.c @@ -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")); |
