|
43 | 43 | STATIC mp_obj_t str_modulo_format(mp_obj_t pattern, uint n_args, const mp_obj_t *args, mp_obj_t dict); |
44 | 44 | const mp_obj_t mp_const_empty_bytes; |
45 | 45 |
|
46 | | -// use this macro to extract the string hash |
47 | | -#define GET_STR_HASH(str_obj_in, str_hash) uint str_hash; if (MP_OBJ_IS_QSTR(str_obj_in)) { str_hash = qstr_hash(MP_OBJ_QSTR_VALUE(str_obj_in)); } else { str_hash = ((mp_obj_str_t*)str_obj_in)->hash; } |
48 | | - |
49 | | -// use this macro to extract the string length |
50 | | -#define GET_STR_LEN(str_obj_in, str_len) uint str_len; if (MP_OBJ_IS_QSTR(str_obj_in)) { str_len = qstr_len(MP_OBJ_QSTR_VALUE(str_obj_in)); } else { str_len = ((mp_obj_str_t*)str_obj_in)->len; } |
51 | | - |
52 | | -// use this macro to extract the string data and length |
53 | | -#define GET_STR_DATA_LEN(str_obj_in, str_data, str_len) const byte *str_data; uint str_len; if (MP_OBJ_IS_QSTR(str_obj_in)) { str_data = qstr_data(MP_OBJ_QSTR_VALUE(str_obj_in), &str_len); } else { str_len = ((mp_obj_str_t*)str_obj_in)->len; str_data = ((mp_obj_str_t*)str_obj_in)->data; } |
54 | | - |
55 | 46 | STATIC mp_obj_t mp_obj_new_str_iterator(mp_obj_t str); |
56 | 47 | STATIC mp_obj_t mp_obj_new_bytes_iterator(mp_obj_t str); |
57 | 48 | STATIC NORETURN void bad_implicit_conversion(mp_obj_t self_in); |
@@ -259,7 +250,7 @@ STATIC const byte *find_subbytes(const byte *haystack, machine_uint_t hlen, cons |
259 | 250 | return NULL; |
260 | 251 | } |
261 | 252 |
|
262 | | -STATIC mp_obj_t str_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { |
| 253 | +mp_obj_t str_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { |
263 | 254 | GET_STR_DATA_LEN(lhs_in, lhs_data, lhs_len); |
264 | 255 | mp_obj_type_t *lhs_type = mp_obj_get_type(lhs_in); |
265 | 256 | mp_obj_type_t *rhs_type = mp_obj_get_type(rhs_in); |
@@ -1627,33 +1618,33 @@ STATIC machine_int_t str_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, |
1627 | 1618 | } |
1628 | 1619 |
|
1629 | 1620 | #if MICROPY_CPYTHON_COMPAT |
1630 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(bytes_decode_obj, 1, 3, bytes_decode); |
1631 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_encode_obj, 1, 3, str_encode); |
| 1621 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(bytes_decode_obj, 1, 3, bytes_decode); |
| 1622 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_encode_obj, 1, 3, str_encode); |
1632 | 1623 | #endif |
1633 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_find_obj, 2, 4, str_find); |
1634 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rfind_obj, 2, 4, str_rfind); |
1635 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_index_obj, 2, 4, str_index); |
1636 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rindex_obj, 2, 4, str_rindex); |
1637 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_2(str_join_obj, str_join); |
1638 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_split_obj, 1, 3, str_split); |
1639 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rsplit_obj, 1, 3, str_rsplit); |
1640 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_startswith_obj, 2, 3, str_startswith); |
1641 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_endswith_obj, 2, 3, str_endswith); |
1642 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_strip_obj, 1, 2, str_strip); |
1643 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_lstrip_obj, 1, 2, str_lstrip); |
1644 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rstrip_obj, 1, 2, str_rstrip); |
1645 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(str_format_obj, 1, mp_obj_str_format); |
1646 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_replace_obj, 3, 4, str_replace); |
1647 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_count_obj, 2, 4, str_count); |
1648 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_2(str_partition_obj, str_partition); |
1649 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_2(str_rpartition_obj, str_rpartition); |
1650 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_lower_obj, str_lower); |
1651 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_upper_obj, str_upper); |
1652 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_isspace_obj, str_isspace); |
1653 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_isalpha_obj, str_isalpha); |
1654 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_isdigit_obj, str_isdigit); |
1655 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_isupper_obj, str_isupper); |
1656 | | -STATIC MP_DEFINE_CONST_FUN_OBJ_1(str_islower_obj, str_islower); |
| 1624 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_find_obj, 2, 4, str_find); |
| 1625 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rfind_obj, 2, 4, str_rfind); |
| 1626 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_index_obj, 2, 4, str_index); |
| 1627 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rindex_obj, 2, 4, str_rindex); |
| 1628 | +MP_DEFINE_CONST_FUN_OBJ_2(str_join_obj, str_join); |
| 1629 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_split_obj, 1, 3, str_split); |
| 1630 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rsplit_obj, 1, 3, str_rsplit); |
| 1631 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_startswith_obj, 2, 3, str_startswith); |
| 1632 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_endswith_obj, 2, 3, str_endswith); |
| 1633 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_strip_obj, 1, 2, str_strip); |
| 1634 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_lstrip_obj, 1, 2, str_lstrip); |
| 1635 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_rstrip_obj, 1, 2, str_rstrip); |
| 1636 | +MP_DEFINE_CONST_FUN_OBJ_VAR(str_format_obj, 1, mp_obj_str_format); |
| 1637 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_replace_obj, 3, 4, str_replace); |
| 1638 | +MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(str_count_obj, 2, 4, str_count); |
| 1639 | +MP_DEFINE_CONST_FUN_OBJ_2(str_partition_obj, str_partition); |
| 1640 | +MP_DEFINE_CONST_FUN_OBJ_2(str_rpartition_obj, str_rpartition); |
| 1641 | +MP_DEFINE_CONST_FUN_OBJ_1(str_lower_obj, str_lower); |
| 1642 | +MP_DEFINE_CONST_FUN_OBJ_1(str_upper_obj, str_upper); |
| 1643 | +MP_DEFINE_CONST_FUN_OBJ_1(str_isspace_obj, str_isspace); |
| 1644 | +MP_DEFINE_CONST_FUN_OBJ_1(str_isalpha_obj, str_isalpha); |
| 1645 | +MP_DEFINE_CONST_FUN_OBJ_1(str_isdigit_obj, str_isdigit); |
| 1646 | +MP_DEFINE_CONST_FUN_OBJ_1(str_isupper_obj, str_isupper); |
| 1647 | +MP_DEFINE_CONST_FUN_OBJ_1(str_islower_obj, str_islower); |
1657 | 1648 |
|
1658 | 1649 | STATIC const mp_map_elem_t str_locals_dict_table[] = { |
1659 | 1650 | #if MICROPY_CPYTHON_COMPAT |
|
0 commit comments