Fix native property setting from subclass

This commit is contained in:
Scott Shawcroft 2023-10-19 14:27:20 -07:00
parent e1df598199
commit e62db5adcd
No known key found for this signature in database
GPG Key ID: 0DFD512649C052DA
103 changed files with 249 additions and 97 deletions

View File

@ -540,7 +540,7 @@ STATIC const mp_vfs_proto_t fat_vfs_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
mp_fat_vfs_type,
MP_QSTR_VfsFat,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, fat_vfs_make_new,
protocol, &fat_vfs_proto,
locals_dict, &fat_vfs_locals_dict

View File

@ -131,7 +131,7 @@ STATIC MP_DEFINE_CONST_DICT(samd_clock_locals_dict, samd_clock_locals_dict_table
MP_DEFINE_CONST_OBJ_TYPE(
samd_clock_type,
MP_QSTR_Clock,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
print, samd_clock_print,
locals_dict, &samd_clock_locals_dict
);

View File

@ -172,7 +172,7 @@ STATIC const framebuffer_p_t videocore_framebuffer_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
videocore_framebuffer_type,
MP_QSTR_Framebuffer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, (mp_obj_dict_t *)&videocore_framebuffer_locals_dict,
make_new, videocore_framebuffer_make_new,
buffer, common_hal_videocore_framebuffer_get_buffer,

View File

@ -995,7 +995,7 @@ STATIC MP_DEFINE_CONST_DICT(espcamera_camera_locals_dict, espcamera_camera_local
MP_DEFINE_CONST_OBJ_TYPE(
espcamera_camera_type,
MP_QSTR_Camera,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, espcamera_camera_make_new,
locals_dict, &espcamera_camera_locals_dict
);

View File

@ -362,7 +362,7 @@ STATIC mp_obj_t espnow_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
MP_DEFINE_CONST_OBJ_TYPE(
espnow_type,
MP_QSTR_ESPNow,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, espnow_make_new,
locals_dict, &espnow_locals_dict,
protocol, &espnow_stream_p,

View File

@ -225,7 +225,7 @@ STATIC MP_DEFINE_CONST_DICT(espnow_peer_locals_dict, espnow_peer_locals_dict_tab
MP_DEFINE_CONST_OBJ_TYPE(
espnow_peer_type,
MP_QSTR_Peer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, espnow_peer_make_new,
locals_dict, &espnow_peer_locals_dict
);

View File

@ -175,7 +175,7 @@ STATIC MP_DEFINE_CONST_DICT(espulp_ulp_locals_dict, espulp_ulp_locals_table);
MP_DEFINE_CONST_OBJ_TYPE(
espulp_ulp_type,
MP_QSTR_ULP,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, espulp_ulp_make_new,
locals_dict, &espulp_ulp_locals_dict
);

View File

@ -251,7 +251,7 @@ STATIC const framebuffer_p_t picodvi_framebuffer_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
picodvi_framebuffer_type,
MP_QSTR_Framebuffer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &picodvi_framebuffer_locals_dict,
make_new, picodvi_framebuffer_make_new,
buffer, common_hal_picodvi_framebuffer_get_buffer,

View File

@ -862,7 +862,7 @@ STATIC MP_DEFINE_CONST_DICT(rp2pio_statemachine_locals_dict, rp2pio_statemachine
MP_DEFINE_CONST_OBJ_TYPE(
rp2pio_statemachine_type,
MP_QSTR_StateMachine,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, rp2pio_statemachine_make_new,
locals_dict, &rp2pio_statemachine_locals_dict
);

View File

@ -593,6 +593,9 @@ MP_NOINLINE int main_(int argc, char **argv) {
MP_DECLARE_CONST_FUN_OBJ_0(extra_cpp_coverage_obj);
mp_store_global(MP_QSTR_extra_coverage, MP_OBJ_FROM_PTR(&extra_coverage_obj));
mp_store_global(MP_QSTR_extra_cpp_coverage, MP_OBJ_FROM_PTR(&extra_cpp_coverage_obj));
// CIRCUITPY-CHANGE: test native base classes work as needed by CircuitPython libraries.
extern const mp_obj_type_t native_base_class_type;
mp_store_global(MP_QSTR_NativeBaseClass, MP_OBJ_FROM_PTR(&native_base_class_type));
}
#endif

View File

@ -0,0 +1,71 @@
#include "py/obj.h"
#include "py/objproperty.h"
#include "py/objtype.h"
#include "py/runtime.h"
#if defined(MICROPY_UNIX_COVERAGE)
// This is a native base class that is used in tests.
typedef struct {
mp_obj_base_t base;
mp_obj_t test;
} native_base_class_obj_t;
const mp_obj_type_t native_base_class_type;
STATIC mp_obj_t native_base_class_make_new(const mp_obj_type_t *type, size_t n_args,
size_t n_kw, const mp_obj_t *all_args) {
enum { ARG_test };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_test, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = mp_const_none} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
native_base_class_obj_t *self = mp_obj_malloc(native_base_class_obj_t, &native_base_class_type);
self->test = args[ARG_test].u_obj;
return MP_OBJ_FROM_PTR(self);
}
// Helper to ensure we have the native super class instead of a subclass.
static native_base_class_obj_t *native_base(mp_obj_t unknown_obj) {
mp_obj_t native_obj = mp_obj_cast_to_native_base(unknown_obj, &native_base_class_type);
mp_obj_assert_native_inited(native_obj);
return MP_OBJ_TO_PTR(native_obj);
}
STATIC mp_obj_t native_base_class_obj_get_test(mp_obj_t self_in) {
native_base_class_obj_t *self = native_base(self_in);
return self->test;
}
MP_DEFINE_CONST_FUN_OBJ_1(native_base_class_get_test_obj, native_base_class_obj_get_test);
STATIC mp_obj_t native_base_class_obj_set_test(mp_obj_t self_in, mp_obj_t value) {
mp_printf(&mp_plat_print, "native base class .test set to: ");
mp_obj_print_helper(&mp_plat_print, value, PRINT_REPR);
mp_printf(&mp_plat_print, "\n");
native_base_class_obj_t *self = native_base(self_in);
self->test = value;
return mp_const_none;
}
MP_DEFINE_CONST_FUN_OBJ_2(native_base_class_set_test_obj, native_base_class_obj_set_test);
MP_PROPERTY_GETSET(native_base_class_test_obj,
(mp_obj_t)&native_base_class_get_test_obj,
(mp_obj_t)&native_base_class_set_test_obj);
STATIC const mp_rom_map_elem_t native_base_class_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_test), MP_ROM_PTR(&native_base_class_test_obj) },
};
STATIC MP_DEFINE_CONST_DICT(native_base_class_locals_dict, native_base_class_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
native_base_class_type,
MP_QSTR_NativeBaseClass,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, &native_base_class_make_new,
locals_dict, &native_base_class_locals_dict
);
#endif

View File

@ -90,6 +90,7 @@ CFLAGS += \
-DCIRCUITPY_TRACEBACK=1 \
-DCIRCUITPY_ZLIB=1
SRC_C += coverage.c
# CIRCUITPY-CHANGE: test native base classes.
SRC_C += coverage.c native_base_class.c
SRC_CXX += coveragecpp.cpp
CIRCUITPY_MESSAGE_COMPRESSION_LEVEL = 1

View File

@ -28,6 +28,12 @@
#include "py/obj.h"
// CIRCUITPY-CHANGE: MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS marks classes with
// properties, descriptors, __delattr__ or __setattr___.
// When defining native classes that use properties, you *must* set the
// MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS flag. Otherwise, the property will be
// ignored.
#if MICROPY_PY_BUILTINS_PROPERTY
typedef struct _mp_obj_property_t {

View File

@ -193,6 +193,10 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_t
// do a lookup, not a (base) type in which we found the class method.
const mp_obj_type_t *org_type = (const mp_obj_type_t *)lookup->obj;
mp_convert_member_lookup(MP_OBJ_NULL, org_type, elem->value, lookup->dest);
} else if (mp_obj_is_type(elem->value, &mp_type_property)) {
// CIRCUITPY-CHANGE: CircuitPython uses properties on native classes, so we always return them.
lookup->dest[0] = elem->value;
return;
} else {
mp_obj_instance_t *obj = lookup->obj;
mp_obj_t obj_obj;
@ -1172,9 +1176,10 @@ mp_obj_t mp_obj_new_type(qstr name, mp_obj_t bases_tuple, mp_obj_t locals_dict)
#endif
}
#if ENABLE_SPECIAL_ACCESSORS
// Inherit the special accessors flag.
base_flags |= t->flags & MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS;
if (mp_obj_is_instance_type(t)) {
t->flags |= MP_TYPE_FLAG_IS_SUBCLASSED;
base_flags |= t->flags & MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS;
}
#endif
}

View File

@ -1241,6 +1241,16 @@ void mp_load_method_maybe(mp_obj_t obj, qstr attr, mp_obj_t *dest) {
mp_map_t *locals_map = &MP_OBJ_TYPE_GET_SLOT(type, locals_dict)->map;
mp_map_elem_t *elem = mp_map_lookup(locals_map, MP_OBJ_NEW_QSTR(attr), MP_MAP_LOOKUP);
if (elem != NULL) {
// CIRCUITPY-CHANGE: Validate flag
#if MICROPY_PY_BUILTINS_PROPERTY
// Validate that the type has the correct flag for properties. It is manually
// managed for native types. If the flag is missing, then act like the
// attribute doesn't exist.
if (mp_obj_is_type(elem->value, &mp_type_property) && (type->flags & MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS) == 0) {
dest[1] = MP_OBJ_NULL;
return;
}
#endif
mp_convert_member_lookup(obj, type, elem->value, dest);
}
return;

View File

@ -471,7 +471,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_adapter_locals_dict, bleio_adapter_locals_dict
MP_DEFINE_CONST_OBJ_TYPE(
bleio_adapter_type,
MP_QSTR_Adapter,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, bleio_adapter_make_new,
locals_dict, &bleio_adapter_locals_dict
);

View File

@ -202,7 +202,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_address_locals_dict, bleio_address_locals_dict
MP_DEFINE_CONST_OBJ_TYPE(
bleio_address_type,
MP_QSTR_Address,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, bleio_address_make_new,
print, bleio_address_print,
locals_dict, &bleio_address_locals_dict,

View File

@ -328,7 +328,7 @@ STATIC void bleio_characteristic_print(const mp_print_t *print, mp_obj_t self_in
MP_DEFINE_CONST_OBJ_TYPE(
bleio_characteristic_type,
MP_QSTR_Characteristic,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
print, bleio_characteristic_print,
locals_dict, &bleio_characteristic_locals_dict
);

View File

@ -225,7 +225,7 @@ STATIC const mp_stream_p_t characteristic_buffer_stream_p = {
MP_DEFINE_CONST_OBJ_TYPE(
bleio_characteristic_buffer_type,
MP_QSTR_CharacteristicBuffer,
MP_TYPE_FLAG_ITER_IS_ITERNEXT,
MP_TYPE_FLAG_ITER_IS_ITERNEXT | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, bleio_characteristic_buffer_make_new,
locals_dict, &bleio_characteristic_buffer_locals_dict,
iter, mp_stream_unbuffered_iter,

View File

@ -247,6 +247,6 @@ STATIC MP_DEFINE_CONST_DICT(bleio_connection_locals_dict, bleio_connection_local
MP_DEFINE_CONST_OBJ_TYPE(
bleio_connection_type,
MP_QSTR_Connection,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &bleio_connection_locals_dict
);

View File

@ -214,7 +214,7 @@ STATIC void bleio_descriptor_print(const mp_print_t *print, mp_obj_t self_in, mp
MP_DEFINE_CONST_OBJ_TYPE(
bleio_descriptor_type,
MP_QSTR_Descriptor,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
print, bleio_descriptor_print,
locals_dict, &bleio_descriptor_locals_dict
);

View File

@ -232,7 +232,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_packet_buffer_locals_dict, bleio_packet_buffer
MP_DEFINE_CONST_OBJ_TYPE(
bleio_packet_buffer_type,
MP_QSTR_PacketBuffer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, bleio_packet_buffer_make_new,
locals_dict, &bleio_packet_buffer_locals_dict
);

View File

@ -139,6 +139,6 @@ STATIC MP_DEFINE_CONST_DICT(bleio_scanentry_locals_dict, bleio_scanentry_locals_
MP_DEFINE_CONST_OBJ_TYPE(
bleio_scanentry_type,
MP_QSTR_ScanEntry,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &bleio_scanentry_locals_dict
);

View File

@ -143,7 +143,7 @@ STATIC void bleio_service_print(const mp_print_t *print, mp_obj_t self_in, mp_pr
MP_DEFINE_CONST_OBJ_TYPE(
bleio_service_type,
MP_QSTR_Service,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, bleio_service_make_new,
print, bleio_service_print,
locals_dict, &bleio_service_locals_dict

View File

@ -283,7 +283,7 @@ void bleio_uuid_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t
MP_DEFINE_CONST_OBJ_TYPE(
bleio_uuid_type,
MP_QSTR_UUID,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
print, bleio_uuid_print,
make_new, bleio_uuid_make_new,
locals_dict, &bleio_uuid_locals_dict,

View File

@ -258,7 +258,7 @@ STATIC MP_DEFINE_CONST_DICT(pixelmap_pixelmap_locals_dict, pixelmap_pixelmap_loc
MP_DEFINE_CONST_OBJ_TYPE(
pixelmap_pixelmap_type,
MP_QSTR_PixelMap,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &pixelmap_pixelmap_locals_dict,
make_new, pixelmap_pixelmap_make_new,
subscr, pixelmap_pixelmap_subscr,

View File

@ -371,7 +371,7 @@ STATIC MP_DEFINE_CONST_DICT(pixelbuf_pixelbuf_locals_dict, pixelbuf_pixelbuf_loc
MP_DEFINE_CONST_OBJ_TYPE(
pixelbuf_pixelbuf_type,
MP_QSTR_PixelBuf,
MP_TYPE_FLAG_ITER_IS_GETITER,
MP_TYPE_FLAG_ITER_IS_GETITER | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &pixelbuf_pixelbuf_locals_dict,
make_new, pixelbuf_pixelbuf_make_new,
subscr, pixelbuf_pixelbuf_subscr,

View File

@ -252,7 +252,7 @@ STATIC MP_DEFINE_CONST_DICT(aesio_locals_dict, aesio_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
aesio_aes_type,
MP_QSTR_AES,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, aesio_aes_make_new,
locals_dict, &aesio_locals_dict
);

View File

@ -120,7 +120,7 @@ STATIC MP_DEFINE_CONST_DICT(alarm_pin_pinalarm_locals_dict, alarm_pin_pinalarm_l
MP_DEFINE_CONST_OBJ_TYPE(
alarm_pin_pinalarm_type,
MP_QSTR_PinAlarm,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, alarm_pin_pinalarm_make_new,
locals_dict, &alarm_pin_pinalarm_locals_dict
);

View File

@ -134,7 +134,7 @@ STATIC MP_DEFINE_CONST_DICT(alarm_time_timealarm_locals_dict, alarm_time_timeala
MP_DEFINE_CONST_OBJ_TYPE(
alarm_time_timealarm_type,
MP_QSTR_TimeAlarm,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, alarm_time_timealarm_make_new,
locals_dict, &alarm_time_timealarm_locals_dict
);

View File

@ -82,7 +82,7 @@ STATIC MP_DEFINE_CONST_DICT(alarm_touch_touchalarm_locals_dict, alarm_touch_touc
MP_DEFINE_CONST_OBJ_TYPE(
alarm_touch_touchalarm_type,
MP_QSTR_TouchAlarm,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, alarm_touch_touchalarm_make_new,
locals_dict, &alarm_touch_touchalarm_locals_dict
);

View File

@ -152,7 +152,7 @@ STATIC MP_DEFINE_CONST_DICT(analogio_analogin_locals_dict, analogio_analogin_loc
MP_DEFINE_CONST_OBJ_TYPE(
analogio_analogin_type,
MP_QSTR_AnalogIn,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, analogio_analogin_make_new,
locals_dict, &analogio_analogin_locals_dict
);

View File

@ -133,7 +133,7 @@ STATIC MP_DEFINE_CONST_DICT(analogio_analogout_locals_dict, analogio_analogout_l
MP_DEFINE_CONST_OBJ_TYPE(
analogio_analogout_type,
MP_QSTR_AnalogOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, analogio_analogout_make_new,
locals_dict, &analogio_analogout_locals_dict
);

View File

@ -275,7 +275,7 @@ STATIC MP_DEFINE_CONST_DICT(audiobusio_i2sout_locals_dict, audiobusio_i2sout_loc
MP_DEFINE_CONST_OBJ_TYPE(
audiobusio_i2sout_type,
MP_QSTR_I2SOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiobusio_i2sout_make_new,
locals_dict, &audiobusio_i2sout_locals_dict
);

View File

@ -244,7 +244,7 @@ STATIC MP_DEFINE_CONST_DICT(audiobusio_pdmin_locals_dict, audiobusio_pdmin_local
MP_DEFINE_CONST_OBJ_TYPE(
audiobusio_pdmin_type,
MP_QSTR_PDMIn,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiobusio_pdmin_make_new
#if CIRCUITPY_AUDIOBUSIO_PDMIN
, locals_dict, &audiobusio_pdmin_locals_dict

View File

@ -177,7 +177,7 @@ STATIC const audiosample_p_t audioio_rawsample_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
audioio_rawsample_type,
MP_QSTR_RawSample,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audioio_rawsample_make_new,
locals_dict, &audioio_rawsample_locals_dict,
protocol, &audioio_rawsample_proto

View File

@ -203,7 +203,7 @@ STATIC const audiosample_p_t audioio_wavefile_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
audioio_wavefile_type,
MP_QSTR_WaveFile,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audioio_wavefile_make_new,
locals_dict, &audioio_wavefile_locals_dict,
protocol, &audioio_wavefile_proto

View File

@ -261,7 +261,7 @@ STATIC MP_DEFINE_CONST_DICT(audioio_audioout_locals_dict, audioio_audioout_local
MP_DEFINE_CONST_OBJ_TYPE(
audioio_audioout_type,
MP_QSTR_AudioOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audioio_audioout_make_new,
locals_dict, &audioio_audioout_locals_dict
);

View File

@ -275,7 +275,7 @@ STATIC const audiosample_p_t audiomixer_mixer_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
audiomixer_mixer_type,
MP_QSTR_Mixer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiomixer_mixer_make_new,
locals_dict, &audiomixer_mixer_locals_dict,
protocol, &audiomixer_mixer_proto

View File

@ -156,7 +156,7 @@ STATIC MP_DEFINE_CONST_DICT(audiomixer_mixervoice_locals_dict, audiomixer_mixerv
MP_DEFINE_CONST_OBJ_TYPE(
audiomixer_mixervoice_type,
MP_QSTR_MixerVoice,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiomixer_mixervoice_make_new,
locals_dict, &audiomixer_mixervoice_locals_dict
);

View File

@ -286,7 +286,7 @@ STATIC const audiosample_p_t audiomp3_mp3file_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
audiomp3_mp3file_type,
MP_QSTR_MP3Decoder,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiomp3_mp3file_make_new,
locals_dict, &audiomp3_mp3file_locals_dict,
protocol, &audiomp3_mp3file_proto

View File

@ -271,7 +271,7 @@ STATIC MP_DEFINE_CONST_DICT(audiopwmio_pwmaudioout_locals_dict, audiopwmio_pwmau
MP_DEFINE_CONST_OBJ_TYPE(
audiopwmio_pwmaudioout_type,
MP_QSTR_PWMAudioOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, audiopwmio_pwmaudioout_make_new,
locals_dict, &audiopwmio_pwmaudioout_locals_dict
);

View File

@ -509,7 +509,7 @@ STATIC MP_DEFINE_CONST_DICT(busdisplay_busdisplay_locals_dict, busdisplay_busdis
MP_DEFINE_CONST_OBJ_TYPE(
busdisplay_busdisplay_type,
MP_QSTR_BusDisplay,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, busdisplay_busdisplay_make_new,
locals_dict, &busdisplay_busdisplay_locals_dict
);

View File

@ -492,7 +492,7 @@ STATIC MP_DEFINE_CONST_DICT(busio_spi_locals_dict, busio_spi_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
busio_spi_type,
MP_QSTR_SPI,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, busio_spi_make_new,
locals_dict, &busio_spi_locals_dict
);

View File

@ -465,7 +465,7 @@ STATIC const mp_stream_p_t uart_stream_p = {
MP_DEFINE_CONST_OBJ_TYPE(
busio_uart_type,
MP_QSTR_UART,
MP_TYPE_FLAG_ITER_IS_ITERNEXT,
MP_TYPE_FLAG_ITER_IS_ITERNEXT | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, busio_uart_make_new,
locals_dict, &busio_uart_locals_dict,
iter, mp_stream_unbuffered_iter,

View File

@ -346,7 +346,7 @@ STATIC MP_DEFINE_CONST_DICT(canio_can_locals_dict, canio_can_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
canio_can_type,
MP_QSTR_CAN,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, canio_can_make_new,
locals_dict, &canio_can_locals_dict
);

View File

@ -169,7 +169,7 @@ STATIC MP_DEFINE_CONST_DICT(canio_listener_locals_dict, canio_listener_locals_di
MP_DEFINE_CONST_OBJ_TYPE(
canio_listener_type,
MP_QSTR_Listener,
MP_TYPE_FLAG_ITER_IS_ITERNEXT,
MP_TYPE_FLAG_ITER_IS_ITERNEXT | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &canio_listener_locals_dict,
iter, canio_iternext
);

View File

@ -116,7 +116,7 @@ STATIC MP_DEFINE_CONST_DICT(canio_match_locals_dict, canio_match_locals_dict_tab
MP_DEFINE_CONST_OBJ_TYPE(
canio_match_type,
MP_QSTR_Match,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, canio_match_make_new,
locals_dict, &canio_match_locals_dict
);

View File

@ -139,7 +139,7 @@ STATIC MP_DEFINE_CONST_DICT(canio_message_locals_dict, canio_message_locals_dict
MP_DEFINE_CONST_OBJ_TYPE(
canio_message_type,
MP_QSTR_Message,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, canio_message_make_new,
locals_dict, &canio_message_locals_dict
);

View File

@ -139,7 +139,7 @@ STATIC MP_DEFINE_CONST_DICT(canio_remote_transmission_request_locals_dict, canio
MP_DEFINE_CONST_OBJ_TYPE(
canio_remote_transmission_request_type,
MP_QSTR_RemoteTransmissionRequest,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, canio_remote_transmission_request_make_new,
locals_dict, &canio_remote_transmission_request_locals_dict
);

View File

@ -148,7 +148,7 @@ STATIC MP_DEFINE_CONST_DICT(countio_counter_locals_dict, countio_counter_locals_
MP_DEFINE_CONST_OBJ_TYPE(
countio_counter_type,
MP_QSTR_Counter,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, countio_counter_make_new,
locals_dict, &countio_counter_locals_dict
);

View File

@ -362,7 +362,7 @@ STATIC MP_DEFINE_CONST_DICT(digitalio_digitalinout_locals_dict, digitalio_digita
MP_DEFINE_CONST_OBJ_TYPE(
digitalio_digitalinout_type,
MP_QSTR_DigitalInOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, digitalio_digitalinout_make_new,
locals_dict, &digitalio_digitalinout_locals_dict
);

View File

@ -291,7 +291,7 @@ STATIC mp_int_t bitmap_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, m
MP_DEFINE_CONST_OBJ_TYPE(
displayio_bitmap_type,
MP_QSTR_Bitmap,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_bitmap_make_new,
locals_dict, &displayio_bitmap_locals_dict,
subscr, bitmap_subscr,

View File

@ -138,7 +138,7 @@ STATIC MP_DEFINE_CONST_DICT(displayio_colorconverter_locals_dict, displayio_colo
MP_DEFINE_CONST_OBJ_TYPE(
displayio_colorconverter_type,
MP_QSTR_ColorConverter,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_colorconverter_make_new,
locals_dict, &displayio_colorconverter_locals_dict
);

View File

@ -351,7 +351,7 @@ STATIC MP_DEFINE_CONST_DICT(displayio_group_locals_dict, displayio_group_locals_
MP_DEFINE_CONST_OBJ_TYPE(
displayio_group_type,
MP_QSTR_Group,
MP_TYPE_FLAG_ITER_IS_GETITER,
MP_TYPE_FLAG_ITER_IS_GETITER | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_group_make_new,
locals_dict, &displayio_group_locals_dict,
subscr, group_subscr,

View File

@ -151,7 +151,7 @@ STATIC MP_DEFINE_CONST_DICT(displayio_ondiskbitmap_locals_dict, displayio_ondisk
MP_DEFINE_CONST_OBJ_TYPE(
displayio_ondiskbitmap_type,
MP_QSTR_OnDiskBitmap,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_ondiskbitmap_make_new,
locals_dict, &displayio_ondiskbitmap_locals_dict
);

View File

@ -218,7 +218,7 @@ STATIC MP_DEFINE_CONST_DICT(displayio_palette_locals_dict, displayio_palette_loc
MP_DEFINE_CONST_OBJ_TYPE(
displayio_palette_type,
MP_QSTR_Palette,
MP_TYPE_FLAG_ITER_IS_GETITER,
MP_TYPE_FLAG_ITER_IS_GETITER | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_palette_make_new,
locals_dict, &displayio_palette_locals_dict,
subscr, palette_subscr,

View File

@ -483,7 +483,7 @@ STATIC MP_DEFINE_CONST_DICT(displayio_tilegrid_locals_dict, displayio_tilegrid_l
MP_DEFINE_CONST_OBJ_TYPE(
displayio_tilegrid_type,
MP_QSTR_TileGrid,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, displayio_tilegrid_make_new,
locals_dict, &displayio_tilegrid_locals_dict,
subscr, tilegrid_subscr

View File

@ -385,7 +385,7 @@ STATIC MP_DEFINE_CONST_DICT(dotclockframebuffer_framebuffer_locals_dict, dotcloc
MP_DEFINE_CONST_OBJ_TYPE(
dotclockframebuffer_framebuffer_type,
MP_QSTR_DotClockFramebuffer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, dotclockframebuffer_framebuffer_make_new,
locals_dict, &dotclockframebuffer_framebuffer_locals_dict,
buffer, dotclockframebuffer_framebuffer_get_buffer,

View File

@ -407,7 +407,7 @@ STATIC MP_DEFINE_CONST_DICT(epaperdisplay_epaperdisplay_locals_dict, epaperdispl
MP_DEFINE_CONST_OBJ_TYPE(
epaperdisplay_epaperdisplay_type,
MP_QSTR_EPaperDisplay,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, epaperdisplay_epaperdisplay_make_new,
locals_dict, &epaperdisplay_epaperdisplay_locals_dict
);

View File

@ -109,6 +109,6 @@ STATIC MP_DEFINE_CONST_DICT(fontio_builtinfont_locals_dict, fontio_builtinfont_l
MP_DEFINE_CONST_OBJ_TYPE(
fontio_builtinfont_type,
MP_QSTR_BuiltinFont,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &fontio_builtinfont_locals_dict
);

View File

@ -366,7 +366,7 @@ STATIC MP_DEFINE_CONST_DICT(framebufferio_framebufferdisplay_locals_dict, frameb
MP_DEFINE_CONST_OBJ_TYPE(
framebufferio_framebufferdisplay_type,
MP_QSTR_FramebufferDisplay,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, framebufferio_framebufferdisplay_make_new,
locals_dict, &framebufferio_framebufferdisplay_locals_dict
);

View File

@ -220,7 +220,7 @@ STATIC MP_DEFINE_CONST_DICT(frequencyio_frequencyin_locals_dict, frequencyio_fre
MP_DEFINE_CONST_OBJ_TYPE(
frequencyio_frequencyin_type,
MP_QSTR_frequencyin,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, frequencyio_frequencyin_make_new,
locals_dict, &frequencyio_frequencyin_locals_dict
);

View File

@ -323,7 +323,7 @@ STATIC MP_DEFINE_CONST_DICT(gifio_ondiskgif_locals_dict, gifio_ondiskgif_locals_
MP_DEFINE_CONST_OBJ_TYPE(
gifio_ondiskgif_type,
MP_QSTR_OnDiskGif,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, gifio_ondiskgif_make_new,
locals_dict, &gifio_ondiskgif_locals_dict
);

View File

@ -172,7 +172,7 @@ STATIC MP_DEFINE_CONST_DICT(gnss_locals_dict, gnss_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
gnss_type,
MP_QSTR_GNSS,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, gnss_make_new,
locals_dict, &gnss_locals_dict
);

View File

@ -92,6 +92,6 @@ STATIC MP_DEFINE_CONST_DICT(hashlib_hash_locals_dict, hashlib_hash_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
hashlib_hash_type,
MP_QSTR_Hash,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &hashlib_hash_locals_dict
);

View File

@ -178,7 +178,7 @@ STATIC MP_DEFINE_CONST_DICT(ipaddress_ipv4address_locals_dict, ipaddress_ipv4add
MP_DEFINE_CONST_OBJ_TYPE(
ipaddress_ipv4address_type,
MP_QSTR_Address,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, ipaddress_ipv4address_make_new,
locals_dict, &ipaddress_ipv4address_locals_dict,
print, ipaddress_ipv4address_print,

View File

@ -295,7 +295,7 @@ STATIC mp_int_t is31fl3741_FrameBuffer_get_buffer(mp_obj_t self_in, mp_buffer_in
MP_DEFINE_CONST_OBJ_TYPE(
is31fl3741_FrameBuffer_type,
MP_QSTR_is31fl3741,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &is31fl3741_FrameBuffer_locals_dict,
make_new, is31fl3741_FrameBuffer_make_new,
buffer, is31fl3741_FrameBuffer_get_buffer,

View File

@ -183,7 +183,7 @@ STATIC MP_DEFINE_CONST_DICT(keypad_event_locals_dict, keypad_event_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
keypad_event_type,
MP_QSTR_Event,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, keypad_event_make_new,
print, keypad_event_print,
locals_dict, &keypad_event_locals_dict,

View File

@ -168,7 +168,7 @@ STATIC const mp_stream_p_t eventqueue_p = {
MP_DEFINE_CONST_OBJ_TYPE(
keypad_eventqueue_type,
MP_QSTR_EventQueue,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
unary_op, keypad_eventqueue_unary_op,
#if MICROPY_PY_SELECT
protocol, &eventqueue_p,

View File

@ -138,6 +138,6 @@ STATIC MP_DEFINE_CONST_DICT(mdns_remoteservice_locals_dict, mdns_remoteservice_l
MP_DEFINE_CONST_OBJ_TYPE(
mdns_remoteservice_type,
MP_QSTR_RemoteService,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &mdns_remoteservice_locals_dict
);

View File

@ -216,7 +216,7 @@ STATIC MP_DEFINE_CONST_DICT(mdns_server_locals_dict, mdns_server_locals_dict_tab
MP_DEFINE_CONST_OBJ_TYPE(
mdns_server_type,
MP_QSTR_Server,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, mdns_server_make_new,
locals_dict, &mdns_server_locals_dict
);

View File

@ -167,7 +167,7 @@ STATIC MP_DEFINE_CONST_DICT(memorymonitor_allocationsize_locals_dict, memorymoni
MP_DEFINE_CONST_OBJ_TYPE(
memorymonitor_allocationsize_type,
MP_QSTR_AllocationSize,
MP_TYPE_FLAG_ITER_IS_GETITER,
MP_TYPE_FLAG_ITER_IS_GETITER | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, memorymonitor_allocationsize_make_new,
subscr, memorymonitor_allocationsize_subscr,
unary_op, memorymonitor_allocationsize_unary_op,

View File

@ -173,6 +173,6 @@ STATIC MP_DEFINE_CONST_DICT(mcu_processor_locals_dict, mcu_processor_locals_dict
MP_DEFINE_CONST_OBJ_TYPE(
mcu_processor_type,
MP_QSTR_Processor,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &mcu_processor_locals_dict
);

View File

@ -111,7 +111,7 @@ STATIC MP_DEFINE_CONST_DICT(mod_msgpack_exttype_locals_dict, mod_msgpack_exttype
MP_DEFINE_CONST_OBJ_TYPE(
mod_msgpack_exttype_type,
MP_QSTR_ExtType,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, mod_msgpack_exttype_make_new,
locals_dict, &mod_msgpack_exttype_locals_dict
);

View File

@ -292,7 +292,7 @@ STATIC MP_DEFINE_CONST_DICT(pulseio_pulsein_locals_dict, pulseio_pulsein_locals_
MP_DEFINE_CONST_OBJ_TYPE(
pulseio_pulsein_type,
MP_QSTR_PulseIn,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, pulseio_pulsein_make_new,
locals_dict, &pulseio_pulsein_locals_dict,
subscr, pulsein_subscr,

View File

@ -301,7 +301,7 @@ STATIC MP_DEFINE_CONST_DICT(pwmio_pwmout_locals_dict, pwmio_pwmout_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
pwmio_pwmout_type,
MP_QSTR_PWMOut,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, pwmio_pwmout_make_new,
locals_dict, &pwmio_pwmout_locals_dict
);

View File

@ -142,7 +142,7 @@ STATIC MP_DEFINE_CONST_DICT(qrio_qrdecoder_locals, qrio_qrdecoder_locals_table);
MP_DEFINE_CONST_OBJ_TYPE(
qrio_qrdecoder_type_obj,
MP_QSTR_QRDecoder,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, qrio_qrdecoder_make_new,
locals_dict, &qrio_qrdecoder_locals
);

View File

@ -448,7 +448,7 @@ STATIC mp_int_t rgbmatrix_rgbmatrix_get_buffer(mp_obj_t self_in, mp_buffer_info_
MP_DEFINE_CONST_OBJ_TYPE(
rgbmatrix_RGBMatrix_type,
MP_QSTR_RGBMatrix,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &rgbmatrix_rgbmatrix_locals_dict,
make_new, rgbmatrix_rgbmatrix_make_new,
buffer, rgbmatrix_rgbmatrix_get_buffer,

View File

@ -183,7 +183,7 @@ STATIC MP_DEFINE_CONST_DICT(rotaryio_incrementalencoder_locals_dict, rotaryio_in
MP_DEFINE_CONST_OBJ_TYPE(
rotaryio_incrementalencoder_type,
MP_QSTR_IncrementalEncoder,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, rotaryio_incrementalencoder_make_new,
locals_dict, &rotaryio_incrementalencoder_locals_dict
);

View File

@ -128,7 +128,7 @@ STATIC MP_DEFINE_CONST_DICT(rtc_rtc_locals_dict, rtc_rtc_locals_dict_table);
MP_DEFINE_CONST_OBJ_TYPE(
rtc_rtc_type,
MP_QSTR_RTC,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, rtc_rtc_make_new,
locals_dict, &rtc_rtc_locals_dict
);

View File

@ -270,7 +270,7 @@ STATIC MP_DEFINE_CONST_DICT(sdioio_sdcard_locals_dict, sdioio_sdcard_locals_dict
MP_DEFINE_CONST_OBJ_TYPE(
sdioio_SDCard_type,
MP_QSTR_SDCard,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, sdioio_sdcard_make_new,
locals_dict, &sdioio_sdcard_locals_dict
);

View File

@ -201,7 +201,7 @@ STATIC MP_DEFINE_CONST_DICT(ssl_sslcontext_locals_dict, ssl_sslcontext_locals_di
MP_DEFINE_CONST_OBJ_TYPE(
ssl_sslcontext_type,
MP_QSTR_SSLContext,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, ssl_sslcontext_make_new,
locals_dict, &ssl_sslcontext_locals_dict
);

View File

@ -254,6 +254,6 @@ STATIC MP_DEFINE_CONST_DICT(supervisor_runtime_locals_dict, supervisor_runtime_l
MP_DEFINE_CONST_OBJ_TYPE(
supervisor_runtime_type,
MP_QSTR_Runtime,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &supervisor_runtime_locals_dict
);

View File

@ -121,6 +121,6 @@ STATIC MP_DEFINE_CONST_DICT(supervisor_status_bar_locals_dict, supervisor_status
MP_DEFINE_CONST_OBJ_TYPE(
supervisor_status_bar_type,
MP_QSTR_Status_Bar,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &supervisor_status_bar_locals_dict
);

View File

@ -294,7 +294,7 @@ STATIC const synthio_block_proto_t lfo_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
synthio_lfo_type,
MP_QSTR_LFO,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, synthio_lfo_make_new,
locals_dict, &synthio_lfo_locals_dict,
print, lfo_print,

View File

@ -294,7 +294,7 @@ STATIC const synthio_block_proto_t math_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
synthio_math_type,
MP_QSTR_Math,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, synthio_math_make_new,
locals_dict, &synthio_math_locals_dict,
print, math_print,

View File

@ -188,7 +188,7 @@ STATIC const audiosample_p_t synthio_miditrack_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
synthio_miditrack_type,
MP_QSTR_MidiTrack,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, synthio_miditrack_make_new,
locals_dict, &synthio_miditrack_locals_dict,
protocol, &synthio_miditrack_proto

View File

@ -320,7 +320,7 @@ STATIC MP_DEFINE_CONST_DICT(synthio_note_locals_dict, synthio_note_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
synthio_note_type,
MP_QSTR_Note,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, synthio_note_make_new,
locals_dict, &synthio_note_locals_dict,
print, note_print

View File

@ -453,7 +453,7 @@ STATIC const audiosample_p_t synthio_synthesizer_proto = {
MP_DEFINE_CONST_OBJ_TYPE(
synthio_synthesizer_type,
MP_QSTR_Synthesizer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, synthio_synthesizer_make_new,
locals_dict, &synthio_synthesizer_locals_dict,
protocol, &synthio_synthesizer_proto

View File

@ -184,7 +184,7 @@ STATIC MP_DEFINE_CONST_DICT(touchio_touchin_locals_dict, touchio_touchin_locals_
MP_DEFINE_CONST_OBJ_TYPE(
touchio_touchin_type,
MP_QSTR_TouchIn,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, touchio_touchin_make_new,
locals_dict, &touchio_touchin_locals_dict
);

View File

@ -334,6 +334,6 @@ STATIC MP_DEFINE_CONST_DICT(usb_core_device_locals_dict, usb_core_device_locals_
MP_DEFINE_CONST_OBJ_TYPE(
usb_core_device_type,
MP_QSTR_Device,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &usb_core_device_locals_dict
);

View File

@ -280,7 +280,7 @@ STATIC const mp_stream_p_t usb_cdc_serial_stream_p = {
MP_DEFINE_CONST_OBJ_TYPE(
usb_cdc_serial_type,
MP_QSTR_Serial,
MP_TYPE_FLAG_ITER_IS_ITERNEXT,
MP_TYPE_FLAG_ITER_IS_ITERNEXT | MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &usb_cdc_serial_locals_dict,
iter, mp_stream_unbuffered_iter,
protocol, &usb_cdc_serial_stream_p

View File

@ -266,7 +266,7 @@ STATIC MP_DEFINE_CONST_DICT(usb_hid_device_locals_dict, usb_hid_device_locals_di
MP_DEFINE_CONST_OBJ_TYPE(
usb_hid_device_type,
MP_QSTR_Device,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, usb_hid_device_make_new,
locals_dict, &usb_hid_device_locals_dict
);

View File

@ -135,7 +135,7 @@ STATIC MP_DEFINE_CONST_DICT(vectorio_circle_locals_dict, vectorio_circle_locals_
MP_DEFINE_CONST_OBJ_TYPE(
vectorio_circle_type,
MP_QSTR_Circle,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, vectorio_circle_make_new,
locals_dict, &vectorio_circle_locals_dict,
protocol, &circle_draw_protocol

View File

@ -144,7 +144,7 @@ STATIC MP_DEFINE_CONST_DICT(vectorio_polygon_locals_dict, vectorio_polygon_local
MP_DEFINE_CONST_OBJ_TYPE(
vectorio_polygon_type,
MP_QSTR_Polygon,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, vectorio_polygon_make_new,
locals_dict, &vectorio_polygon_locals_dict,
protocol, &polygon_draw_protocol

View File

@ -244,6 +244,6 @@ STATIC MP_DEFINE_CONST_DICT(vectorio_vector_shape_locals_dict, vectorio_vector_s
MP_DEFINE_CONST_OBJ_TYPE(
vectorio_vector_shape_type,
MP_QSTR_VectorShape,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &vectorio_vector_shape_locals_dict
);

View File

@ -151,6 +151,6 @@ STATIC MP_DEFINE_CONST_DICT(watchdog_watchdogtimer_locals_dict, watchdog_watchdo
MP_DEFINE_CONST_OBJ_TYPE(
watchdog_watchdogtimer_type,
MP_QSTR_WatchDogTimer,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &watchdog_watchdogtimer_locals_dict
);

View File

@ -154,7 +154,7 @@ STATIC MP_DEFINE_CONST_DICT(wifi_monitor_locals_dict, wifi_monitor_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
wifi_monitor_type,
MP_QSTR_Monitor,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
make_new, wifi_monitor_make_new,
locals_dict, &wifi_monitor_locals_dict
);

View File

@ -122,6 +122,6 @@ STATIC MP_DEFINE_CONST_DICT(wifi_network_locals_dict, wifi_network_locals_dict_t
MP_DEFINE_CONST_OBJ_TYPE(
wifi_network_type,
MP_QSTR_Network,
MP_TYPE_FLAG_NONE,
MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS,
locals_dict, &wifi_network_locals_dict
);

Some files were not shown because too many files have changed in this diff Show More