summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-08-04 10:59:31 -0500
committerJeff Epler <jepler@gmail.com>2020-08-04 14:45:45 -0500
commitc37a25f0e5d1c877909855f6a3294e43b854bbbd (patch)
tree14c0cae44c69847fd94504f110f1ebc86883031c
parent92917b84f1a173a06d337d82a7a5568f680ff268 (diff)
Use qstrs to save an additional 4 bytes
-rw-r--r--py/obj.c12
-rw-r--r--py/obj.h1
-rw-r--r--py/objint.c4
-rw-r--r--shared-bindings/i2cperipheral/I2CPeripheral.c2
4 files changed, 12 insertions, 7 deletions
diff --git a/py/obj.c b/py/obj.c
index 2b0c46f49..404fdd5d9 100644
--- a/py/obj.c
+++ b/py/obj.c
@@ -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);
}
}
}
diff --git a/py/obj.h b/py/obj.h
index e603d4a49..656190cb3 100644
--- a/py/obj.h
+++ b/py/obj.h
@@ -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"));