summaryrefslogtreecommitdiff
path: root/py/runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/runtime.c')
-rw-r--r--py/runtime.c58
1 files changed, 32 insertions, 26 deletions
diff --git a/py/runtime.c b/py/runtime.c
index 91ead1fba..f9ef7819d 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -279,8 +279,8 @@ mp_obj_t mp_unary_op(mp_unary_op_t op, mp_obj_t arg) {
mp_raise_TypeError(translate("unsupported type for operator"));
} else {
mp_raise_TypeError_varg(
- translate("unsupported type for %q: '%s'"),
- mp_unary_op_method_name[op], mp_obj_get_type_str(arg));
+ translate("unsupported type for %q: '%q'"),
+ mp_unary_op_method_name[op], mp_obj_get_type_qstr(arg));
}
}
}
@@ -586,8 +586,8 @@ unsupported_op:
mp_raise_TypeError(translate("unsupported type for operator"));
} else {
mp_raise_TypeError_varg(
- translate("unsupported types for %q: '%s', '%s'"),
- mp_binary_op_method_name[op], mp_obj_get_type_str(lhs), mp_obj_get_type_str(rhs));
+ translate("unsupported types for %q: '%q', '%q'"),
+ mp_binary_op_method_name[op], mp_obj_get_type_qstr(lhs), mp_obj_get_type_qstr(rhs));
}
zero_division:
@@ -627,7 +627,7 @@ mp_obj_t mp_call_function_n_kw(mp_obj_t fun_in, size_t n_args, size_t n_kw, cons
if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) {
mp_raise_TypeError(translate("object not callable"));
} else {
- mp_raise_TypeError_varg(translate("'%s' object is not callable"), mp_obj_get_type_str(fun_in));
+ mp_raise_TypeError_varg(translate("'%q' object is not callable"), mp_obj_get_type_qstr(fun_in));
}
}
@@ -1104,8 +1104,8 @@ void mp_load_method(mp_obj_t base, qstr attr, mp_obj_t *dest) {
((mp_obj_type_t*)MP_OBJ_TO_PTR(base))->name, attr));
} else {
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_AttributeError,
- translate("'%s' object has no attribute '%q'"),
- mp_obj_get_type_str(base), attr));
+ translate("'%q' object has no attribute '%q'"),
+ mp_obj_get_type_qstr(base), attr));
}
}
}
@@ -1172,8 +1172,8 @@ void mp_store_attr(mp_obj_t base, qstr attr, mp_obj_t value) {
mp_raise_AttributeError(translate("no such attribute"));
} else {
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_AttributeError,
- translate("'%s' object cannot assign attribute '%q'"),
- mp_obj_get_type_str(base), attr));
+ translate("'%q' object cannot assign attribute '%q'"),
+ mp_obj_get_type_qstr(base), attr));
}
}
@@ -1213,7 +1213,7 @@ mp_obj_t mp_getiter(mp_obj_t o_in, mp_obj_iter_buf_t *iter_buf) {
mp_raise_TypeError(translate("object not iterable"));
} else {
mp_raise_TypeError_varg(
- translate("'%s' object is not iterable"), mp_obj_get_type_str(o_in));
+ translate("'%q' object is not iterable"), mp_obj_get_type_qstr(o_in));
}
}
@@ -1234,8 +1234,8 @@ mp_obj_t mp_iternext_allow_raise(mp_obj_t o_in) {
if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) {
mp_raise_TypeError(translate("object not an iterator"));
} else {
- mp_raise_TypeError_varg(translate("'%s' object is not an iterator"),
- mp_obj_get_type_str(o_in));
+ mp_raise_TypeError_varg(translate("'%q' object is not an iterator"),
+ mp_obj_get_type_qstr(o_in));
}
}
}
@@ -1270,8 +1270,8 @@ mp_obj_t mp_iternext(mp_obj_t o_in) {
if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) {
mp_raise_TypeError(translate("object not an iterator"));
} else {
- mp_raise_TypeError_varg(translate("'%s' object is not an iterator"),
- mp_obj_get_type_str(o_in));
+ mp_raise_TypeError_varg(translate("'%q' object is not an iterator"),
+ mp_obj_get_type_qstr(o_in));
}
}
}
@@ -1522,12 +1522,16 @@ NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, const compressed_strin
}
}
+NORETURN void mp_raise_msg_vlist(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, va_list argptr) {
+ mp_obj_t exception = mp_obj_new_exception_msg_vlist(exc_type, fmt, argptr);
+ nlr_raise(exception);
+}
+
NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(exc_type, fmt, argptr);
+ mp_raise_msg_vlist(exc_type, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_AttributeError(const compressed_string_t *msg) {
@@ -1546,6 +1550,13 @@ NORETURN void mp_raise_IndexError(const compressed_string_t *msg) {
mp_raise_msg(&mp_type_IndexError, msg);
}
+NORETURN void mp_raise_IndexError_varg(const compressed_string_t *fmt, ...) {
+ va_list argptr;
+ va_start(argptr,fmt);
+ mp_raise_msg_vlist(&mp_type_IndexError, fmt, argptr);
+ va_end(argptr);
+}
+
NORETURN void mp_raise_ValueError(const compressed_string_t *msg) {
mp_raise_msg(&mp_type_ValueError, msg);
}
@@ -1553,9 +1564,8 @@ NORETURN void mp_raise_ValueError(const compressed_string_t *msg) {
NORETURN void mp_raise_ValueError_varg(const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_ValueError, fmt, argptr);
+ mp_raise_msg_vlist(&mp_type_ValueError, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_TypeError(const compressed_string_t *msg) {
@@ -1565,9 +1575,8 @@ NORETURN void mp_raise_TypeError(const compressed_string_t *msg) {
NORETURN void mp_raise_TypeError_varg(const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_TypeError, fmt, argptr);
+ mp_raise_msg_vlist(&mp_type_TypeError, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_OSError(int errno_) {
@@ -1589,9 +1598,8 @@ NORETURN void mp_raise_OSError_errno_str(int errno_, mp_obj_t str) {
NORETURN void mp_raise_OSError_msg_varg(const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_OSError, fmt, argptr);
+ mp_raise_msg_vlist(&mp_type_OSError, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_NotImplementedError(const compressed_string_t *msg) {
@@ -1601,17 +1609,15 @@ NORETURN void mp_raise_NotImplementedError(const compressed_string_t *msg) {
NORETURN void mp_raise_NotImplementedError_varg(const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_NotImplementedError, fmt, argptr);
+ mp_raise_msg_vlist(&mp_type_NotImplementedError, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_OverflowError_varg(const compressed_string_t *fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
- mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_OverflowError, fmt, argptr);
+ mp_raise_msg_vlist(&mp_type_OverflowError, fmt, argptr);
va_end(argptr);
- nlr_raise(exception);
}
NORETURN void mp_raise_MpyError(const compressed_string_t *msg) {