From aa6af84693973513b36c392aaf24bd5fafb9425e Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Mon, 23 Aug 2021 13:29:15 +0200 Subject: [PATCH] Berry vararg prep (#12951) * Berry prepare for vararg, and fix string format * Cosmetic fix --- lib/libesp32/Berry/default/be_driverlib.c | 30 +++++++++-------- lib/libesp32/Berry/default/be_i2c_driverlib.c | 8 +++++ .../Berry/default/be_lvgl_signal_bars_lib.c | 17 ++++++---- .../Berry/default/be_lvgl_signal_wifi_lib.c | 2 ++ lib/libesp32/Berry/default/be_modtab.c | 2 +- lib/libesp32/Berry/default/be_tasmotalib.c | 13 ++++++++ lib/libesp32/Berry/default/be_timer_class.c | 8 +++-- lib/libesp32/Berry/default/be_wirelib.c | 2 ++ .../generate/be_fixed_be_class_aes_gcm.h | 4 +-- .../be_fixed_be_class_audio_file_source.h | 2 +- .../be_fixed_be_class_audio_generator.h | 2 +- .../generate/be_fixed_be_class_audio_output.h | 2 +- .../Berry/generate/be_fixed_be_class_bytes.h | 2 +- .../Berry/generate/be_fixed_be_class_list.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_arc.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_bar.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_btn.h | 2 +- .../generate/be_fixed_be_class_lv_btnmatrix.h | 2 +- .../generate/be_fixed_be_class_lv_calendar.h | 2 +- .../generate/be_fixed_be_class_lv_canvas.h | 2 +- .../generate/be_fixed_be_class_lv_chart.h | 2 +- .../generate/be_fixed_be_class_lv_checkbox.h | 2 +- .../generate/be_fixed_be_class_lv_color.h | 2 +- .../generate/be_fixed_be_class_lv_cont.h | 2 +- .../generate/be_fixed_be_class_lv_cpicker.h | 2 +- .../generate/be_fixed_be_class_lv_ctypes.h | 2 +- .../generate/be_fixed_be_class_lv_dropdown.h | 2 +- .../generate/be_fixed_be_class_lv_font.h | 2 +- .../generate/be_fixed_be_class_lv_gauge.h | 2 +- .../generate/be_fixed_be_class_lv_group.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_img.h | 2 +- .../generate/be_fixed_be_class_lv_imgbtn.h | 2 +- .../generate/be_fixed_be_class_lv_indev.h | 2 +- .../generate/be_fixed_be_class_lv_keyboard.h | 2 +- .../generate/be_fixed_be_class_lv_label.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_led.h | 2 +- .../generate/be_fixed_be_class_lv_line.h | 2 +- .../generate/be_fixed_be_class_lv_linemeter.h | 2 +- .../generate/be_fixed_be_class_lv_list.h | 2 +- .../generate/be_fixed_be_class_lv_msgbox.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_obj.h | 2 +- .../generate/be_fixed_be_class_lv_objmask.h | 2 +- .../generate/be_fixed_be_class_lv_page.h | 2 +- .../generate/be_fixed_be_class_lv_roller.h | 2 +- .../generate/be_fixed_be_class_lv_slider.h | 2 +- .../generate/be_fixed_be_class_lv_spinbox.h | 2 +- .../generate/be_fixed_be_class_lv_spinner.h | 2 +- .../generate/be_fixed_be_class_lv_style.h | 2 +- .../generate/be_fixed_be_class_lv_switch.h | 2 +- .../generate/be_fixed_be_class_lv_table.h | 2 +- .../generate/be_fixed_be_class_lv_tabview.h | 2 +- .../generate/be_fixed_be_class_lv_textarea.h | 2 +- .../generate/be_fixed_be_class_lv_tileview.h | 2 +- .../Berry/generate/be_fixed_be_class_lv_win.h | 2 +- .../Berry/generate/be_fixed_be_class_map.h | 2 +- .../Berry/generate/be_fixed_be_class_md5.h | 2 +- .../Berry/generate/be_fixed_be_class_range.h | 4 +-- .../generate/be_fixed_be_class_tasmota.h | 14 ++++---- .../be_fixed_be_class_tasmota_i2c_driver.h | 6 ++-- .../generate/be_fixed_be_class_tasmota_wire.h | 2 +- .../Berry/generate/be_fixed_be_lvgl_cb.h | 2 +- lib/libesp32/Berry/src/be_byteslib.c | 11 ++++--- lib/libesp32/Berry/src/be_constobj.h | 4 +-- lib/libesp32/Berry/src/be_debug.c | 21 +++++++++--- lib/libesp32/Berry/src/be_decoder.h | 3 ++ lib/libesp32/Berry/src/be_opcodes.h | 4 +-- lib/libesp32/Berry/src/be_solidifylib.c | 9 ++--- lib/libesp32/Berry/src/be_strlib.c | 6 +++- lib/libesp32/Berry/src/berry.h | 4 +-- lib/libesp32/Berry/tests/bytes.be | 33 ++----------------- lib/libesp32/Berry/tests/bytes_b64.be | 15 +++++++++ lib/libesp32/Berry/tests/compiler.be | 28 ++++++++++++++++ lib/libesp32/Berry/tests/string.be | 6 ++++ lib/libesp32/Berry/tools/coc/hash_map.cpp | 2 +- 74 files changed, 215 insertions(+), 139 deletions(-) create mode 100644 lib/libesp32/Berry/tests/bytes_b64.be create mode 100644 lib/libesp32/Berry/tests/compiler.be diff --git a/lib/libesp32/Berry/default/be_driverlib.c b/lib/libesp32/Berry/default/be_driverlib.c index 6035a8736..72874c08b 100644 --- a/lib/libesp32/Berry/default/be_driverlib.c +++ b/lib/libesp32/Berry/default/be_driverlib.c @@ -13,6 +13,7 @@ be_local_closure(init, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -36,6 +37,7 @@ be_local_closure(get_tasmota, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -62,6 +64,7 @@ be_local_closure(add_cmd, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ @@ -69,6 +72,7 @@ be_local_closure(add_cmd, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ + 0, /* varg */ 1, /* has upvals */ ( &(const bupvaldesc[ 2]) { /* upvals */ be_local_const_upval(1, 2), @@ -121,21 +125,21 @@ be_local_class(Driver, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("web_add_main_button", -334599632, 19, 14), be_const_index(4) }, - { be_nested_key("web_add_console_button", -813531104, 22, -1), be_const_index(7) }, - { be_nested_key("web_add_management_button", -1556090110, 25, 8), be_const_index(5) }, + { be_nested_key("web_add_main_button", -334599632, 19, 14), be_const_var(4) }, + { be_nested_key("web_add_console_button", -813531104, 22, -1), be_const_var(7) }, + { be_nested_key("web_add_management_button", -1556090110, 25, 8), be_const_var(5) }, { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, - { be_nested_key("json_append", -1292948012, 11, -1), be_const_index(10) }, - { be_nested_key("web_add_config_button", 639674325, 21, 7), be_const_index(6) }, - { be_nested_key("every_100ms", 1546407804, 11, -1), be_const_index(1) }, - { be_nested_key("display", 1164572437, 7, -1), be_const_index(12) }, - { be_nested_key("web_add_button", -757092238, 14, 13), be_const_index(3) }, - { be_nested_key("every_second", 2075451465, 12, -1), be_const_index(0) }, - { be_nested_key("save_before_restart", 1253239338, 19, -1), be_const_index(8) }, + { be_nested_key("json_append", -1292948012, 11, -1), be_const_var(10) }, + { be_nested_key("web_add_config_button", 639674325, 21, 7), be_const_var(6) }, + { be_nested_key("every_100ms", 1546407804, 11, -1), be_const_var(1) }, + { be_nested_key("display", 1164572437, 7, -1), be_const_var(12) }, + { be_nested_key("web_add_button", -757092238, 14, 13), be_const_var(3) }, + { be_nested_key("every_second", 2075451465, 12, -1), be_const_var(0) }, + { be_nested_key("save_before_restart", 1253239338, 19, -1), be_const_var(8) }, { be_nested_key("get_tasmota", 334356779, 11, -1), be_const_closure(get_tasmota_closure) }, - { be_nested_key("web_sensor", -1394870324, 10, 6), be_const_index(9) }, - { be_nested_key("web_add_handler", -304792334, 15, -1), be_const_index(2) }, - { be_nested_key("button_pressed", 1694209616, 14, 1), be_const_index(11) }, + { be_nested_key("web_sensor", -1394870324, 10, 6), be_const_var(9) }, + { be_nested_key("web_add_handler", -304792334, 15, -1), be_const_var(2) }, + { be_nested_key("button_pressed", 1694209616, 14, 1), be_const_var(11) }, { be_nested_key("add_cmd", -933336417, 7, -1), be_const_closure(add_cmd_closure) }, })), (be_nested_const_str("Driver", -718580993, 6)) diff --git a/lib/libesp32/Berry/default/be_i2c_driverlib.c b/lib/libesp32/Berry/default/be_i2c_driverlib.c index 4fe868dae..75e003210 100644 --- a/lib/libesp32/Berry/default/be_i2c_driverlib.c +++ b/lib/libesp32/Berry/default/be_i2c_driverlib.c @@ -18,6 +18,7 @@ be_local_closure(init, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -94,6 +95,7 @@ be_local_closure(write8, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -128,6 +130,7 @@ be_local_closure(write_bit, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -180,6 +183,7 @@ be_local_closure(read8, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -213,6 +217,7 @@ be_local_closure(read12, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -253,6 +258,7 @@ be_local_closure(read13, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -293,6 +299,7 @@ be_local_closure(read24, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -338,6 +345,7 @@ be_local_closure(read32, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ diff --git a/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c b/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c index 060789ae0..7eade5edb 100644 --- a/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_signal_bars_lib.c @@ -14,6 +14,7 @@ be_local_closure(my_design_cb, /* name */ be_nested_proto( 21, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ @@ -21,6 +22,7 @@ be_local_closure(my_design_cb, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -212,6 +214,7 @@ be_local_closure(get_percentage, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -238,6 +241,7 @@ be_local_closure(init, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -304,6 +308,7 @@ be_local_closure(set_percentage, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -350,16 +355,16 @@ be_local_class(lv_signal_bars, &be_class_lv_obj, be_nested_map(10, ( (struct bmapnode*) &(const bmapnode[]) { - { be_nested_key("p1", -1605446022, 2, -1), be_const_index(2) }, + { be_nested_key("p1", -1605446022, 2, -1), be_const_var(2) }, { be_nested_key("my_design_cb", -1173588798, 12, -1), be_const_closure(my_design_cb_closure) }, { be_nested_key("get_percentage", -1414483304, 14, -1), be_const_closure(get_percentage_closure) }, { be_nested_key("init", 380752755, 4, 7), be_const_closure(init_closure) }, { be_nested_key("set_percentage", -1342944572, 14, 0), be_const_closure(set_percentage_closure) }, - { be_nested_key("percentage", -1756136011, 10, 3), be_const_index(1) }, - { be_nested_key("area", -1693507260, 4, -1), be_const_index(5) }, - { be_nested_key("p2", -1622223641, 2, -1), be_const_index(3) }, - { be_nested_key("line_dsc", -200476318, 8, 1), be_const_index(4) }, - { be_nested_key("ancestor_design", 421545719, 15, -1), be_const_index(0) }, + { be_nested_key("percentage", -1756136011, 10, 3), be_const_var(1) }, + { be_nested_key("area", -1693507260, 4, -1), be_const_var(5) }, + { be_nested_key("p2", -1622223641, 2, -1), be_const_var(3) }, + { be_nested_key("line_dsc", -200476318, 8, 1), be_const_var(4) }, + { be_nested_key("ancestor_design", 421545719, 15, -1), be_const_var(0) }, })), (be_nested_const_str("lv_signal_bars", -780994737, 14)) ); diff --git a/lib/libesp32/Berry/default/be_lvgl_signal_wifi_lib.c b/lib/libesp32/Berry/default/be_lvgl_signal_wifi_lib.c index 6e0a401af..304a9ab86 100644 --- a/lib/libesp32/Berry/default/be_lvgl_signal_wifi_lib.c +++ b/lib/libesp32/Berry/default/be_lvgl_signal_wifi_lib.c @@ -14,6 +14,7 @@ be_local_closure(init, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -54,6 +55,7 @@ be_local_closure(every_second, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ diff --git a/lib/libesp32/Berry/default/be_modtab.c b/lib/libesp32/Berry/default/be_modtab.c index edde70854..6eaa6b03c 100644 --- a/lib/libesp32/Berry/default/be_modtab.c +++ b/lib/libesp32/Berry/default/be_modtab.c @@ -20,8 +20,8 @@ be_extern_native_module(sys); be_extern_native_module(debug); be_extern_native_module(gc); be_extern_native_module(solidify); -be_extern_native_module(strict); be_extern_native_module(introspect); +be_extern_native_module(strict); /* Tasmota specific */ be_extern_native_module(light); diff --git a/lib/libesp32/Berry/default/be_tasmotalib.c b/lib/libesp32/Berry/default/be_tasmotalib.c index 81c6c6016..fef78e8ed 100644 --- a/lib/libesp32/Berry/default/be_tasmotalib.c +++ b/lib/libesp32/Berry/default/be_tasmotalib.c @@ -505,6 +505,7 @@ be_local_closure(remove_rule, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -932,6 +933,7 @@ be_local_closure(set_timer, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -974,6 +976,7 @@ be_local_closure(run_deferred, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1031,6 +1034,7 @@ be_local_closure(remove_timer, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1182,6 +1186,7 @@ be_local_closure(remove_cmd, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1213,6 +1218,7 @@ be_local_closure(exec_cmd, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1276,6 +1282,7 @@ be_local_closure(gc, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1307,6 +1314,7 @@ be_local_closure(event, /* name */ be_nested_proto( 19, /* nstack */ 6, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1423,6 +1431,7 @@ be_local_closure(add_driver, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1459,6 +1468,7 @@ be_local_closure(load, /* name */ be_nested_proto( 14, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1670,6 +1680,7 @@ be_local_closure(time_str, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1989,6 +2000,7 @@ be_local_closure(cb_dispatch, /* name */ be_nested_proto( 12, /* nstack */ 6, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -2034,6 +2046,7 @@ be_local_closure(gen_cb, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ diff --git a/lib/libesp32/Berry/default/be_timer_class.c b/lib/libesp32/Berry/default/be_timer_class.c index 84ed2a8ce..4ee9d0ade 100644 --- a/lib/libesp32/Berry/default/be_timer_class.c +++ b/lib/libesp32/Berry/default/be_timer_class.c @@ -12,6 +12,7 @@ be_local_closure(tostring, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -60,6 +61,7 @@ be_local_closure(init, /* name */ be_nested_proto( 4, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -92,9 +94,9 @@ be_local_class(Timer, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { { be_nested_key("tostring", -1995258651, 8, 4), be_const_closure(tostring_closure) }, - { be_nested_key("id", 926444256, 2, 2), be_const_index(2) }, - { be_nested_key("f", -485742695, 1, -1), be_const_index(1) }, - { be_nested_key("due", -399437003, 3, -1), be_const_index(0) }, + { be_nested_key("id", 926444256, 2, 2), be_const_var(2) }, + { be_nested_key("f", -485742695, 1, -1), be_const_var(1) }, + { be_nested_key("due", -399437003, 3, -1), be_const_var(0) }, { be_nested_key("init", 380752755, 4, -1), be_const_closure(init_closure) }, })), (be_nested_const_str("Timer", -346839614, 5)) diff --git a/lib/libesp32/Berry/default/be_wirelib.c b/lib/libesp32/Berry/default/be_wirelib.c index 1a2dbd237..7a63f312f 100644 --- a/lib/libesp32/Berry/default/be_wirelib.c +++ b/lib/libesp32/Berry/default/be_wirelib.c @@ -45,6 +45,7 @@ be_local_closure(read_bytes, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -107,6 +108,7 @@ be_local_closure(write_bytes, /* name */ be_nested_proto( 7, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_aes_gcm.h b/lib/libesp32/Berry/generate/be_fixed_be_class_aes_gcm.h index 593696b3f..a603e4de3 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_aes_gcm.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_aes_gcm.h @@ -2,10 +2,10 @@ static be_define_const_map_slots(be_class_aes_gcm_map) { { be_const_key(encrypt, 4), be_const_func(m_aes_gcm_encryt) }, - { be_const_key(dot_p2, -1), be_const_index(0) }, + { be_const_key(dot_p2, -1), be_const_var(0) }, { be_const_key(decrypt, -1), be_const_func(m_aes_gcm_decryt) }, { be_const_key(init, -1), be_const_func(m_aes_gcm_init) }, - { be_const_key(dot_p1, -1), be_const_index(1) }, + { be_const_key(dot_p1, -1), be_const_var(1) }, { be_const_key(tag, -1), be_const_func(m_aes_gcm_tag) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h index c862ef474..e7e5e0998 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_file_source.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_audio_file_source_map) { - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h index d6c5c9a6a..840da47d1 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_generator.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_audio_generator_map) { - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h index cb9c6282d..afb2705cb 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_audio_output.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_audio_output_map) { - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h b/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h index 86075ac4e..58ccee454 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_bytes.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_bytes_map) { - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(seti, 6), be_const_func(m_set) }, { be_const_key(get, 7), be_const_func(m_getu) }, { be_const_key(size, 10), be_const_func(m_size) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_list.h b/lib/libesp32/Berry/generate/be_fixed_be_class_list.h index 6d94eb931..300efcce0 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_list.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_list.h @@ -14,7 +14,7 @@ static be_define_const_map_slots(be_class_list_map) { { be_const_key(tostring, 3), be_const_func(m_tostring) }, { be_const_key(opt_eq, -1), be_const_func(m_equal) }, { be_const_key(init, -1), be_const_func(m_init) }, - { be_const_key(dot_p, 17), be_const_index(0) }, + { be_const_key(dot_p, 17), be_const_var(0) }, { be_const_key(setitem, -1), be_const_func(m_setitem) }, { be_const_key(opt_connect, 4), be_const_func(m_connect) }, { be_const_key(opt_neq, -1), be_const_func(m_nequal) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h index df2ec5f5f..d0512204e 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_arc.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_arc_map) { { be_const_key(init, 2), be_const_func(lvbe_arc_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h index 0d178107a..c96c467db 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_bar.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_bar_map) { { be_const_key(init, 2), be_const_func(lvbe_bar_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h index e11d63c37..29590fa55 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btn.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_btn_map) { { be_const_key(init, 2), be_const_func(lvbe_btn_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h index eaec83aa4..3a029c9c3 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_btnmatrix.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_btnmatrix_map) { { be_const_key(init, 2), be_const_func(lvbe_btnmatrix_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h index 7434f5004..80f07efb6 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_calendar.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_calendar_map) { { be_const_key(init, 2), be_const_func(lvbe_calendar_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h index 7c0b03d35..4fd9bb5ea 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_canvas.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_canvas_map) { { be_const_key(init, 2), be_const_func(lvbe_canvas_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h index f71d24f42..6b09657c2 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_chart.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_chart_map) { { be_const_key(init, 2), be_const_func(lvbe_chart_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h index a73e60029..3165be40a 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_checkbox.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_checkbox_map) { { be_const_key(init, 2), be_const_func(lvbe_checkbox_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h index e688d2573..1e16b7dd2 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_color.h @@ -4,7 +4,7 @@ static be_define_const_map_slots(be_class_lv_color_map) { { be_const_key(init, -1), be_const_func(lco_init) }, { be_const_key(tostring, 2), be_const_func(lco_tostring) }, { be_const_key(toint, -1), be_const_func(lco_toint) }, - { be_const_key(dot_p, 0), be_const_index(0) }, + { be_const_key(dot_p, 0), be_const_var(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h index 69e3e156d..609766430 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cont.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_cont_map) { { be_const_key(init, 2), be_const_func(lvbe_cont_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h index cd1c2af01..e9be78a9a 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_cpicker.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_cpicker_map) { { be_const_key(init, 2), be_const_func(lvbe_cpicker_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h index c81a8a43e..0fea061de 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_ctypes.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_lv_ctypes_map) { - { be_const_key(dot_def, -1), be_const_index(0) }, + { be_const_key(dot_def, -1), be_const_var(0) }, { be_const_key(setmember, -1), be_const_func(be_ctypes_setmember) }, { be_const_key(init, -1), be_const_func(be_ctypes_init) }, { be_const_key(member, 2), be_const_func(be_ctypes_member) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h index ebe16e2f0..b5011f491 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_dropdown.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_dropdown_map) { { be_const_key(init, 2), be_const_func(lvbe_dropdown_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h index ee3fb3136..1e1ebc351 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_font.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_font_map) { { be_const_key(init, -1), be_const_func(lvx_init) }, { be_const_key(tostring, 2), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, }; static be_define_const_map( diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h index e0d014cc6..cb86f23c3 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_gauge.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_gauge_map) { { be_const_key(init, 2), be_const_func(lvbe_gauge_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h index 393e4cad3..f939812a2 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_group.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_group_map) { { be_const_key(init, 2), be_const_func(lvbe_group_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h index 2536f53b5..e00cc4a9a 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_img.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_img_map) { { be_const_key(init, 2), be_const_func(lvbe_img_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h index aa272b8a9..c35b0d8cd 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_imgbtn.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_imgbtn_map) { { be_const_key(init, 2), be_const_func(lvbe_imgbtn_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h index ecda18431..591758d8f 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_indev.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_indev_map) { { be_const_key(init, 2), be_const_func(lv0_init) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h index 293f8c091..f1ffefb5b 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_keyboard.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_keyboard_map) { { be_const_key(init, 2), be_const_func(lvbe_keyboard_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h index b8cb81e58..c05287a03 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_label.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_label_map) { { be_const_key(init, 2), be_const_func(lvbe_label_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h index a0f3b0b85..e3995f1e0 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_led.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_led_map) { { be_const_key(init, 2), be_const_func(lvbe_led_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h index 34dd43d2d..e12a41e8b 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_line.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_line_map) { { be_const_key(init, 2), be_const_func(lvbe_line_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h index 9242241d7..72d00f372 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_linemeter.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_linemeter_map) { { be_const_key(init, 2), be_const_func(lvbe_linemeter_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h index 630146d49..ddbf5a12d 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_list.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_list_map) { { be_const_key(init, 2), be_const_func(lvbe_list_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h index d922885c0..f4402002b 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_msgbox.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_msgbox_map) { { be_const_key(init, 2), be_const_func(lvbe_msgbox_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h index a145b957a..242fd7edb 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_obj.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_obj_map) { { be_const_key(init, 2), be_const_func(lvbe_obj_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h index 7bf87f4d7..76ec1d349 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_objmask.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_objmask_map) { { be_const_key(init, 2), be_const_func(lvbe_objmask_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h index a8e711925..99b08a995 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_page.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_page_map) { { be_const_key(init, 2), be_const_func(lvbe_page_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h index 8dc63062b..32c3b9ec3 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_roller.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_roller_map) { { be_const_key(init, 2), be_const_func(lvbe_roller_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h index d37d39db0..2b5f13dee 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_slider.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_slider_map) { { be_const_key(init, 2), be_const_func(lvbe_slider_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h index 6258e8832..b511ad385 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinbox.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_spinbox_map) { { be_const_key(init, 2), be_const_func(lvbe_spinbox_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h index b782385f1..d4c71b01e 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_spinner.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_spinner_map) { { be_const_key(init, 2), be_const_func(lvbe_spinner_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h index 789c6be38..0cec3423e 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_style.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_style_map) { { be_const_key(init, 2), be_const_func(lvs_init) }, { be_const_key(tostring, -1), be_const_func(lvs_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h index 2033de3b4..c84d70737 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_switch.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_switch_map) { { be_const_key(init, 2), be_const_func(lvbe_switch_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h index f351e768d..b9449ea7d 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_table.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_table_map) { { be_const_key(init, 2), be_const_func(lvbe_table_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h index 514c2520e..39c793ba8 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tabview.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_tabview_map) { { be_const_key(init, 2), be_const_func(lvbe_tabview_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h index 25eeb27d7..290a439bc 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_textarea.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_textarea_map) { { be_const_key(init, 2), be_const_func(lvbe_textarea_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h index 04404de1f..88b478d11 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_tileview.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_tileview_map) { { be_const_key(init, 2), be_const_func(lvbe_tileview_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h index 96e5c6970..edca478bd 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_lv_win.h @@ -3,7 +3,7 @@ static be_define_const_map_slots(be_class_lv_win_map) { { be_const_key(init, 2), be_const_func(lvbe_win_create) }, { be_const_key(tostring, -1), be_const_func(lvx_tostring) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(member, 0), be_const_func(lvx_member) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_map.h b/lib/libesp32/Berry/generate/be_fixed_be_class_map.h index d9c033a8b..76e99df82 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_map.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_map.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_class_map_map) { - { be_const_key(dot_p, 2), be_const_index(0) }, + { be_const_key(dot_p, 2), be_const_var(0) }, { be_const_key(insert, -1), be_const_func(m_insert) }, { be_const_key(remove, -1), be_const_func(m_remove) }, { be_const_key(tostring, -1), be_const_func(m_tostring) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h b/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h index 34f7ae7e5..121a8e6ea 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_md5.h @@ -2,7 +2,7 @@ static be_define_const_map_slots(be_class_md5_map) { { be_const_key(update, -1), be_const_func(m_md5_update) }, - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(finish, -1), be_const_func(m_md5_finish) }, { be_const_key(init, 1), be_const_func(m_md5_init) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_range.h b/lib/libesp32/Berry/generate/be_fixed_be_class_range.h index cce2842eb..371840af1 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_range.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_range.h @@ -5,9 +5,9 @@ static be_define_const_map_slots(be_class_range_map) { { be_const_key(iter, -1), be_const_func(m_iter) }, { be_const_key(lower, -1), be_const_func(m_lower) }, { be_const_key(init, 4), be_const_func(m_init) }, - { be_const_key(__upper__, -1), be_const_index(0) }, + { be_const_key(__upper__, -1), be_const_var(0) }, { be_const_key(tostring, -1), be_const_func(m_tostring) }, - { be_const_key(__lower__, -1), be_const_index(1) }, + { be_const_key(__lower__, -1), be_const_var(1) }, { be_const_key(upper, 1), be_const_func(m_upper) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h index ca2cda50c..5aead845e 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota.h @@ -10,24 +10,24 @@ static be_define_const_map_slots(be_class_tasmota_map) { { be_const_key(remove_rule, -1), be_const_closure(remove_rule_closure) }, { be_const_key(event, -1), be_const_closure(event_closure) }, { be_const_key(log, 25), be_const_func(l_logInfo) }, - { be_const_key(_drivers, -1), be_const_index(0) }, + { be_const_key(_drivers, -1), be_const_var(0) }, { be_const_key(set_light, -1), be_const_closure(set_light_closure) }, - { be_const_key(wire2, 26), be_const_index(1) }, + { be_const_key(wire2, 26), be_const_var(1) }, { be_const_key(get_free_heap, -1), be_const_func(l_getFreeHeap) }, { be_const_key(resp_cmnd_failed, -1), be_const_func(l_respCmndFailed) }, { be_const_key(publish_result, -1), be_const_func(l_publish_result) }, - { be_const_key(wire1, -1), be_const_index(2) }, + { be_const_key(wire1, -1), be_const_var(2) }, { be_const_key(set_power, 46), be_const_func(l_setpower) }, { be_const_key(cmd, -1), be_const_closure(cmd_closure) }, { be_const_key(get_light, 42), be_const_closure(get_light_closure) }, - { be_const_key(_rules, 54), be_const_index(3) }, + { be_const_key(_rules, 54), be_const_var(3) }, { be_const_key(run_deferred, 19), be_const_closure(run_deferred_closure) }, { be_const_key(try_rule, 18), be_const_closure(try_rule_closure) }, { be_const_key(remove_cmd, 41), be_const_closure(remove_cmd_closure) }, { be_const_key(add_driver, 0), be_const_closure(add_driver_closure) }, { be_const_key(get_power, 36), be_const_func(l_getpower) }, { be_const_key(remove_timer, -1), be_const_closure(remove_timer_closure) }, - { be_const_key(_timers, -1), be_const_index(4) }, + { be_const_key(_timers, -1), be_const_var(4) }, { be_const_key(add_rule, 33), be_const_closure(add_rule_closure) }, { be_const_key(time_reached, -1), be_const_func(l_timereached) }, { be_const_key(resp_cmnd_done, -1), be_const_func(l_respCmndDone) }, @@ -49,7 +49,7 @@ static be_define_const_map_slots(be_class_tasmota_map) { { be_const_key(web_send_decimal, 44), be_const_func(l_webSendDecimal) }, { be_const_key(load, -1), be_const_closure(load_closure) }, { be_const_key(web_send, 56), be_const_func(l_webSend) }, - { be_const_key(_ccmd, -1), be_const_index(5) }, + { be_const_key(_ccmd, -1), be_const_var(5) }, { be_const_key(i2c_enabled, 48), be_const_func(l_i2cenabled) }, { be_const_key(save, -1), be_const_func(l_save) }, { be_const_key(exec_cmd, 2), be_const_closure(exec_cmd_closure) }, @@ -57,7 +57,7 @@ static be_define_const_map_slots(be_class_tasmota_map) { { be_const_key(wire_scan, -1), be_const_closure(wire_scan_closure) }, { be_const_key(scale_uint, -1), be_const_func(l_scaleuint) }, { be_const_key(delay, -1), be_const_func(l_delay) }, - { be_const_key(_cb, -1), be_const_index(6) }, + { be_const_key(_cb, -1), be_const_var(6) }, { be_const_key(add_cmd, -1), be_const_closure(add_cmd_closure) }, { be_const_key(_get_cb, -1), be_const_func(l_get_cb) }, { be_const_key(yield, -1), be_const_func(l_yield) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h index b28ffdabd..131e02766 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_i2c_driver.h @@ -3,13 +3,13 @@ static be_define_const_map_slots(be_class_tasmota_i2c_driver_map) { { be_const_key(read32, -1), be_const_closure(read32_closure) }, { be_const_key(write8, 6), be_const_closure(write8_closure) }, - { be_const_key(name, -1), be_const_index(0) }, - { be_const_key(addr, 10), be_const_index(1) }, + { be_const_key(name, -1), be_const_var(0) }, + { be_const_key(addr, 10), be_const_var(1) }, { be_const_key(read12, -1), be_const_closure(read12_closure) }, { be_const_key(write_bit, 8), be_const_closure(write_bit_closure) }, { be_const_key(read13, -1), be_const_closure(read13_closure) }, { be_const_key(read24, -1), be_const_closure(read24_closure) }, - { be_const_key(wire, -1), be_const_index(2) }, + { be_const_key(wire, -1), be_const_var(2) }, { be_const_key(init, -1), be_const_closure(init_closure) }, { be_const_key(read8, -1), be_const_closure(read8_closure) }, }; diff --git a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h index 9c5543578..71ade9f7e 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_class_tasmota_wire.h @@ -2,7 +2,7 @@ static be_define_const_map_slots(be_class_tasmota_wire_map) { { be_const_key(_end_transmission, 10), be_const_func(b_wire_endtransmission) }, - { be_const_key(bus, -1), be_const_index(0) }, + { be_const_key(bus, -1), be_const_var(0) }, { be_const_key(_read, 7), be_const_func(b_wire_read) }, { be_const_key(read, -1), be_const_func(b_wire_validread) }, { be_const_key(_request_from, -1), be_const_func(b_wire_requestfrom) }, diff --git a/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h index a0ddbeb33..433187e60 100644 --- a/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h +++ b/lib/libesp32/Berry/generate/be_fixed_be_lvgl_cb.h @@ -1,7 +1,7 @@ #include "be_constobj.h" static be_define_const_map_slots(be_lvgl_cb_map) { - { be_const_key(dot_p, -1), be_const_index(0) }, + { be_const_key(dot_p, -1), be_const_var(0) }, { be_const_key(tostring, 2), be_const_func(lvx_tostring) }, { be_const_key(call, -1), be_const_func(lv_cb_call) }, { be_const_key(init, 0), be_const_func(lv0_init) }, diff --git a/lib/libesp32/Berry/src/be_byteslib.c b/lib/libesp32/Berry/src/be_byteslib.c index 4c35d2113..5211a0a4c 100644 --- a/lib/libesp32/Berry/src/be_byteslib.c +++ b/lib/libesp32/Berry/src/be_byteslib.c @@ -536,7 +536,7 @@ static size_t tohex(char * out, size_t outsz, const uint8_t * in, size_t insz) { static int m_tostring(bvm *vm) { int argc = be_top(vm); - int max_len = 32; /* limit to 32 bytes by default */ + size_t max_len = 32; /* limit to 32 bytes by default */ int truncated = 0; if (argc > 1 && be_isint(vm, 2)) { max_len = be_toint(vm, 2); /* you can specify the len as second argument, or 0 for unlimited */ @@ -918,7 +918,7 @@ static int m_tob64(bvm *vm) size_t b64_len = encode_base64_length(len) + 1; /* size of base64 encoded string for this binary length, add NULL terminator */ char * b64_out = be_pushbuffer(vm, b64_len); - size_t converted = encode_base64(buf_get_buf(buf), len, b64_out); + size_t converted = encode_base64(buf_get_buf(buf), len, (unsigned char*)b64_out); be_pushnstring(vm, b64_out, converted); /* make string from buffer */ be_remove(vm, -2); /* remove buffer */ @@ -935,8 +935,7 @@ static int m_fromb64(bvm *vm) int argc = be_top(vm); if (argc >= 2 && be_isstring(vm, 2)) { const char *s = be_tostring(vm, 2); - size_t len = be_strlen(vm, 2); - size_t bin_len = decode_base64_length(s); /* do a first pass to calculate the buffer size */ + size_t bin_len = decode_base64_length((unsigned char*)s); /* do a first pass to calculate the buffer size */ buf_impl * buf = bytes_check_data(vm, 0); buf = bytes_resize(vm, buf, bin_len); /* resize if needed */ @@ -944,7 +943,7 @@ static int m_fromb64(bvm *vm) be_raise(vm, "memory_error", "cannot allocate buffer"); } - size_t bin_len_final = decode_base64(s, buf_get_buf(buf)); /* decode */ + size_t bin_len_final = decode_base64((unsigned char*)s, buf_get_buf(buf)); /* decode */ buf->len = bin_len_final; be_pop(vm, 1); /* remove arg to leave instance */ be_return(vm); @@ -1106,6 +1105,7 @@ be_local_closure(getbits, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ @@ -1165,6 +1165,7 @@ be_local_closure(setbits, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ + 0, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ diff --git a/lib/libesp32/Berry/src/be_constobj.h b/lib/libesp32/Berry/src/be_constobj.h index b1a5165ff..8dcf17d78 100644 --- a/lib/libesp32/Berry/src/be_constobj.h +++ b/lib/libesp32/Berry/src/be_constobj.h @@ -47,7 +47,7 @@ extern "C" { .type = BE_INT \ } -#define be_const_index(_val) { \ +#define be_const_var(_val) { \ .v.i = (bint)(_val), \ .type = BE_INDEX \ } @@ -203,7 +203,7 @@ const bntvmodule be_native_module(_module) = { \ BE_BOOL \ } -#define be_const_index(_val) { \ +#define be_const_var(_val) { \ bvaldata(bint(_val)), \ BE_INDEX \ } diff --git a/lib/libesp32/Berry/src/be_debug.c b/lib/libesp32/Berry/src/be_debug.c index 469e30b63..0b1cd914b 100644 --- a/lib/libesp32/Berry/src/be_debug.c +++ b/lib/libesp32/Berry/src/be_debug.c @@ -60,16 +60,20 @@ void be_print_inst(binstruction ins, int pc) case OP_GETMBR: case OP_SETMBR: case OP_GETMET: case OP_GETIDX: case OP_SETIDX: case OP_AND: case OP_OR: case OP_XOR: case OP_SHL: case OP_SHR: - logbuf("%s\tR%d\tR%d\tR%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins), IGET_RKC(ins)); + logbuf("%s\tR%d\t%c%d\t%c%d", opc2str(op), IGET_RA(ins), + isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK, + isKB(ins) ? 'K' : 'R', IGET_RKC(ins) & KR_MASK); break; case OP_GETNGBL: case OP_SETNGBL: - logbuf("%s\tR%d\tR%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins)); + logbuf("%s\tR%d\t%c%d", opc2str(op), IGET_RA(ins), + isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK); break; case OP_GETGBL: case OP_SETGBL: logbuf("%s\tR%d\tG%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins)); break; case OP_MOVE: case OP_SETSUPER: case OP_NEG: case OP_FLIP: case OP_IMPORT: - logbuf("%s\tR%d\tR%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins)); + logbuf("%s\tR%d\t%c%d", opc2str(op), IGET_RA(ins), + isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK); break; case OP_JMP: logbuf("%s\t\t#%.4X", opc2str(op), IGET_sBx(ins) + pc + 1); @@ -84,7 +88,12 @@ void be_print_inst(binstruction ins, int pc) logbuf("%s\tR%d\t%d\t%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins), IGET_RKC(ins)); break; case OP_RET: - logbuf("%s\t%d\tR%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins)); + if (IGET_RA(ins)) { + logbuf("%s\t%d\t%c%d", opc2str(op), IGET_RA(ins), + isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK); + } else { + logbuf("%s\t%d", opc2str(op), IGET_RA(ins)); /* RET 0 does not take an additional parameter */ + } break; case OP_GETUPV: case OP_SETUPV: logbuf("%s\tR%d\tU%d", opc2str(op), IGET_RA(ins), IGET_Bx(ins)); @@ -105,7 +114,9 @@ void be_print_inst(binstruction ins, int pc) logbuf("%s\t%d", opc2str(op), IGET_RA(ins)); break; case OP_RAISE: - logbuf("%s\t%d\tR%d\tR%d", opc2str(op), IGET_RA(ins), IGET_RKB(ins), IGET_RKC(ins)); + logbuf("%s\t%d\t%c%d\t%c%d", opc2str(op), IGET_RA(ins), + isKB(ins) ? 'K' : 'R', IGET_RKB(ins) & KR_MASK, + isKB(ins) ? 'K' : 'R', IGET_RKC(ins) & KR_MASK); break; case OP_EXBLK: if (IGET_RA(ins)) { diff --git a/lib/libesp32/Berry/src/be_decoder.h b/lib/libesp32/Berry/src/be_decoder.h index 354de5665..c6cfd7ade 100644 --- a/lib/libesp32/Berry/src/be_decoder.h +++ b/lib/libesp32/Berry/src/be_decoder.h @@ -46,6 +46,9 @@ #define IsBx_MAX cast_int(IBx_MASK >> 1) #define IsBx_MIN cast_int(-IsBx_MAX - 1) +/* mask for K/R values */ +#define KR_MASK ((1 << (IRKB_BITS-1)) - 1) + /* get field */ #define IGET_OP(i) cast(bopcode, INS_GETx(i, IOP_MASK, IOP_POS)) #define IGET_RA(i) INS_GETx(i, IRA_MASK, IRA_POS) diff --git a/lib/libesp32/Berry/src/be_opcodes.h b/lib/libesp32/Berry/src/be_opcodes.h index 2fe9dbcae..12c3781e0 100644 --- a/lib/libesp32/Berry/src/be_opcodes.h +++ b/lib/libesp32/Berry/src/be_opcodes.h @@ -53,5 +53,5 @@ OPCODE(EXBLK), /* A, Bx | ... */ OPCODE(CATCH), /* A, B, C | ... */ OPCODE(RAISE), /* A, B, C | RAISE(B,C) B is code, C is description. A==0 only B provided, A==1 B and C are provided, A==2 rethrow with both parameters already on stack */ OPCODE(CLASS), /* Bx | init class in K[Bx] */ -OPCODE(GETNGBL), /* A, B | R(A) <- GLOBAL[B] by name */ -OPCODE(SETNGBL) /* A, B | R(A) -> GLOBAL[B] by name */ +OPCODE(GETNGBL), /* A, B | R(A) <- GLOBAL[RK(B)] by name */ +OPCODE(SETNGBL) /* A, B | R(A) -> GLOBAL[RK(B)] by name */ diff --git a/lib/libesp32/Berry/src/be_solidifylib.c b/lib/libesp32/Berry/src/be_solidifylib.c index 473f74c0b..9e2759702 100644 --- a/lib/libesp32/Berry/src/be_solidifylib.c +++ b/lib/libesp32/Berry/src/be_solidifylib.c @@ -51,9 +51,9 @@ static void m_solidify_bvalue(bvm *vm, bvalue * value) break; case BE_INDEX: #if BE_INTGER_TYPE == 2 - logfmt("be_const_index(%lli)", var_toint(value)); + logfmt("be_const_var(%lli)", var_toint(value)); #else - logfmt("be_const_index(%i)", var_toint(value)); + logfmt("be_const_var(%i)", var_toint(value)); #endif break; case BE_REAL: @@ -96,6 +96,7 @@ static void m_solidify_proto(bvm *vm, bproto *pr, const char * func_name, int bu logfmt("%*s%d, /* nstack */\n", indent, "", pr->nstack); logfmt("%*s%d, /* argc */\n", indent, "", pr->argc); + logfmt("%*s%d, /* varg */\n", indent, "", pr->varg); logfmt("%*s%d, /* has upvals */\n", indent, "", (pr->nupvals > 0) ? 1 : 0); if (pr->nupvals > 0) { @@ -127,9 +128,9 @@ static void m_solidify_proto(bvm *vm, bproto *pr, const char * func_name, int bu if (pr->nconst > 0) { logfmt("%*s( &(const bvalue[%2d]) { /* constants */\n", indent, "", pr->nconst); for (int k = 0; k < pr->nconst; k++) { - logfmt("%*s ", indent, ""); + logfmt("%*s/* K%-3d */ ", indent, "", k); m_solidify_bvalue(vm, &pr->ktab[k]); - logfmt(", /* R%d - K%d */\n", 256+k, k); + logfmt(",\n"); } logfmt("%*s}),\n", indent, ""); } else { diff --git a/lib/libesp32/Berry/src/be_strlib.c b/lib/libesp32/Berry/src/be_strlib.c index 4bef42d10..257bd8c1a 100644 --- a/lib/libesp32/Berry/src/be_strlib.c +++ b/lib/libesp32/Berry/src/be_strlib.c @@ -512,11 +512,15 @@ static int str_format(bvm *vm) concat2(vm); p = get_mode(p + 1, mode); buf[0] = '\0'; - if (index > top) { + if (index > top && *p != '%') { be_raise(vm, "runtime_error", be_pushfstring(vm, "bad argument #%d to 'format': no value", index)); } switch (*p) { + case '%': + be_pushstring(vm, "%"); + --index; /* compensate the future ++index */ + break; case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': if (be_isint(vm, index)) { diff --git a/lib/libesp32/Berry/src/berry.h b/lib/libesp32/Berry/src/berry.h index 1637dc434..85553964b 100644 --- a/lib/libesp32/Berry/src/berry.h +++ b/lib/libesp32/Berry/src/berry.h @@ -329,7 +329,7 @@ typedef struct bntvmodule { } /* new version for more compact literals */ -#define be_nested_proto(_nstack, _argc, _has_upval, _upvals, _has_subproto, _protos, _has_const, _ktab, _fname, _source, _code) \ +#define be_nested_proto(_nstack, _argc, _varg, _has_upval, _upvals, _has_subproto, _protos, _has_const, _ktab, _fname, _source, _code) \ & (const bproto) { \ NULL, /* bgcobject *next */ \ BE_PROTO, /* type BE_PROTO */ \ @@ -337,7 +337,7 @@ typedef struct bntvmodule { (_nstack), /* nstack */ \ BE_IIF(_has_upval)(sizeof(*_upvals)/sizeof(bupvaldesc),0), /* nupvals */ \ (_argc), /* argc */ \ - 0, /* varg */ \ + (_varg), /* varg */ \ NULL, /* bgcobject *gray */ \ (bupvaldesc*) _upvals, /* bupvaldesc *upvals */ \ (bvalue*) _ktab, /* ktab */ \ diff --git a/lib/libesp32/Berry/tests/bytes.be b/lib/libesp32/Berry/tests/bytes.be index 40a784c34..57b3f12a2 100644 --- a/lib/libesp32/Berry/tests/bytes.be +++ b/lib/libesp32/Berry/tests/bytes.be @@ -164,34 +164,5 @@ b.fromstring("Aa0") assert(str(b) =="bytes('416130')") b=bytes() b.fromstring("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") -assert(str(b) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742C2073656420646F20656975736D6F642074656D706F7220696E6369646964756E74207574206C61626F726520657420646F6C6F7265206D61676E6120616C697175612E')") - -#- setters -# -b=bytes().resize(16) -b.set(5,-1,2) -assert(b == bytes('0000000000FFFF000000000000000000')) -b.set(10,-2,4) -assert(b == bytes('0000000000FFFF000000FEFFFFFF0000')) -b.set(0,0xAA55,1) -assert(b == bytes('5500000000FFFF000000FEFFFFFF0000')) - -#- getbits -# -b=bytes("00AAFF55010300") -assert(b.getbits(8,8) == 0xAA) -assert(b.getbits(0,1) == 0) -assert(b.getbits(8,1) == 0) -assert(b.getbits(9,1) == 1) -assert(b.getbits(16,8) == 0xFF) -assert(b.getbits(16,16) == 0x55FF) -assert(b.getbits(16,24) == 0x0155FF) -assert(b.getbits(16,32) == 0x030155FF) -assert(b.getbits(20,8) == 0x5F) - -#- setbits -# -b=bytes("00000000FFFFFFFF") -assert(b.setbits(0,1,1) == bytes('01000000FFFFFFFF')) -assert(b.setbits(1,1,1) == bytes('03000000FFFFFFFF')) -assert(b.setbits(0,1,0) == bytes('02000000FFFFFFFF')) -assert(b.setbits(12,16,0xAA55) == bytes('0250A50AFFFFFFFF')) -assert(b.setbits(63,0,0) == bytes('0250A50AFFFFFFFF')) -assert(b.setbits(63,1,0) == bytes('0250A50AFFFFFF7F')) +assert(str(b) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73...')") +assert(b.tostring(0) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742C2073656420646F20656975736D6F642074656D706F7220696E6369646964756E74207574206C61626F726520657420646F6C6F7265206D61676E6120616C697175612E')") diff --git a/lib/libesp32/Berry/tests/bytes_b64.be b/lib/libesp32/Berry/tests/bytes_b64.be new file mode 100644 index 000000000..a7f57850e --- /dev/null +++ b/lib/libesp32/Berry/tests/bytes_b64.be @@ -0,0 +1,15 @@ +#- base64 encode -# +b=bytes() +assert(b.tob64() == '') +b=bytes('00') +assert(b.tob64() == 'AA==') +b=bytes('1122334455') +assert(b.tob64() == 'ESIzRFU=') + +#- base64 decode -# +b=bytes().fromb64('') +assert(str(b) == str(bytes(''))) +b=bytes().fromb64('AA==') +assert(str(b) == str(bytes('00'))) +b=bytes().fromb64('ESIzRFU=') +assert(str(b) == str(bytes('1122334455'))) diff --git a/lib/libesp32/Berry/tests/compiler.be b/lib/libesp32/Berry/tests/compiler.be new file mode 100644 index 000000000..90303734f --- /dev/null +++ b/lib/libesp32/Berry/tests/compiler.be @@ -0,0 +1,28 @@ +#- test for issue #117 -# + +class A var a end +a=A() +a.a = ["foo", "bar"] + +s = nil +def fs(m) s = m end + +class B + var b, i + def nok() + fs(self.b.a[self.i]) # wrong behavior + end + def ok() + var i = self.i + fs(self.b.a[i]) # works correctly + end +end +b=B() +b.i=0 +b.b=a + +b.nok() +assert(s == "foo") + +b.ok() +assert(s == "foo") diff --git a/lib/libesp32/Berry/tests/string.be b/lib/libesp32/Berry/tests/string.be index fad58f935..683f7d585 100644 --- a/lib/libesp32/Berry/tests/string.be +++ b/lib/libesp32/Berry/tests/string.be @@ -28,3 +28,9 @@ assert(s.split('a b c d e f', '1') == ['a b c d e f']) assert(s.split('a b c d e f', ' ') == ['a', 'b', 'c', 'd', 'e', 'f']) assert(s.split('a b c d e f', ' ', 2) == ['a', 'b', 'c d e f']) assert(s.split('a b c d e f', '') == ['a b c d e f']) + +assert(s.format("%%") == "%") +assert(s.format("%i%%", 12) == "12%") +assert(s.format("%i%%%i", 12, 13) == "12%13") +assert(s.format("%s%%", "foo") == "foo%") +assert(s.format("%.1f%%", 3.5) == "3.5%") diff --git a/lib/libesp32/Berry/tools/coc/hash_map.cpp b/lib/libesp32/Berry/tools/coc/hash_map.cpp index 9d917a81c..e05ca4677 100755 --- a/lib/libesp32/Berry/tools/coc/hash_map.cpp +++ b/lib/libesp32/Berry/tools/coc/hash_map.cpp @@ -128,7 +128,7 @@ hash_map::entry hash_map::entry_modify(entry entry, int *var_count) { entry.key = coc::escape_operator(entry.key); if (entry.value == "var") { - entry.value = "be_const_index(" + entry.value = "be_const_var(" + std::to_string(*var_count) + ")"; ++(*var_count); } else {