summaryrefslogtreecommitdiff
path: root/py/objtype.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/objtype.c')
-rw-r--r--py/objtype.c83
1 files changed, 42 insertions, 41 deletions
diff --git a/py/objtype.c b/py/objtype.c
index 1254b015c..b7b2d156b 100644
--- a/py/objtype.c
+++ b/py/objtype.c
@@ -46,7 +46,7 @@
#endif
#define ENABLE_SPECIAL_ACCESSORS \
- (MICROPY_PY_DESCRIPTORS || MICROPY_PY_DELATTR_SETATTR || MICROPY_PY_BUILTINS_PROPERTY)
+ (MICROPY_PY_DESCRIPTORS || MICROPY_PY_DELATTR_SETATTR || MICROPY_PY_BUILTINS_PROPERTY)
#define TYPE_FLAG_IS_SUBCLASSED (0x0001)
#define TYPE_FLAG_HAS_SPECIAL_ACCESSORS (0x0002)
@@ -70,7 +70,7 @@ STATIC int instance_count_native_bases(const mp_obj_type_t *type, const mp_obj_t
// No parents so end search here.
return count;
#if MICROPY_MULTIPLE_INHERITANCE
- } else if (((mp_obj_base_t*)type->parent)->type == &mp_type_tuple) {
+ } else if (((mp_obj_base_t *)type->parent)->type == &mp_type_tuple) {
// Multiple parents, search through them all recursively.
const mp_obj_tuple_t *parent_tuple = type->parent;
const mp_obj_t *item = parent_tuple->items;
@@ -150,7 +150,7 @@ struct class_lookup_data {
bool is_type;
};
-STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_type_t *type) {
+STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_type_t *type) {
assert(lookup->dest[0] == MP_OBJ_NULL);
assert(lookup->dest[1] == MP_OBJ_NULL);
for (;;) {
@@ -160,10 +160,10 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
// this should not be applied to class types, as will result in extra
// lookup either.
if (lookup->meth_offset != 0 && mp_obj_is_native_type(type)) {
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wcast-align"
- if (*(void**)((char*)type + lookup->meth_offset) != NULL) {
-#pragma GCC diagnostic pop
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wcast-align"
+ if (*(void **)((char *)type + lookup->meth_offset) != NULL) {
+ #pragma GCC diagnostic pop
DEBUG_printf("mp_obj_class_lookup: Matched special meth slot (off=%d) for %s\n",
lookup->meth_offset, qstr_str(lookup->attr));
lookup->dest[0] = MP_OBJ_SENTINEL;
@@ -180,7 +180,7 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
if (lookup->is_type) {
// If we look up a class method, we need to return original type for which we
// 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;
+ 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)) {
lookup->dest[0] = elem->value;
@@ -189,12 +189,13 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
mp_obj_instance_t *obj = lookup->obj;
mp_convert_member_lookup(MP_OBJ_FROM_PTR(obj), type, elem->value, lookup->dest);
}
-#if DEBUG_PRINT
+ #if DEBUG_PRINT
printf("mp_obj_class_lookup: Returning: ");
- mp_obj_print(lookup->dest[0], PRINT_REPR); printf(" ");
+ mp_obj_print(lookup->dest[0], PRINT_REPR);
+ printf(" ");
// Don't try to repr() lookup->dest[1], as we can be called recursively
printf("<%q @%p>\n", mp_obj_get_type_qstr(lookup->dest[1]), lookup->dest[1]);
-#endif
+ #endif
return;
}
}
@@ -215,13 +216,13 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
DEBUG_printf("mp_obj_class_lookup: No more parents\n");
return;
#if MICROPY_MULTIPLE_INHERITANCE
- } else if (((mp_obj_base_t*)type->parent)->type == &mp_type_tuple) {
+ } else if (((mp_obj_base_t *)type->parent)->type == &mp_type_tuple) {
const mp_obj_tuple_t *parent_tuple = type->parent;
const mp_obj_t *item = parent_tuple->items;
const mp_obj_t *top = item + parent_tuple->len - 1;
for (; item < top; ++item) {
assert(MP_OBJ_IS_TYPE(*item, &mp_type_type));
- mp_obj_type_t *bt = (mp_obj_type_t*)MP_OBJ_TO_PTR(*item);
+ mp_obj_type_t *bt = (mp_obj_type_t *)MP_OBJ_TO_PTR(*item);
if (bt == &mp_type_object) {
// Not a "real" type
continue;
@@ -234,7 +235,7 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
// search last base (simple tail recursion elimination)
assert(MP_OBJ_IS_TYPE(*item, &mp_type_type));
- type = (mp_obj_type_t*)MP_OBJ_TO_PTR(*item);
+ type = (mp_obj_type_t *)MP_OBJ_TO_PTR(*item);
#endif
} else {
type = type->parent;
@@ -374,10 +375,10 @@ mp_obj_t mp_obj_instance_make_new(const mp_obj_type_t *self, size_t n_args, cons
}
if (init_ret != mp_const_none) {
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE
- mp_raise_TypeError(translate("__init__() should return None"));
+ mp_raise_TypeError(translate("__init__() should return None"));
#else
- mp_raise_TypeError_varg(translate("__init__() should return None, not '%q'"),
- mp_obj_get_type_qstr(init_ret));
+ mp_raise_TypeError_varg(translate("__init__() should return None, not '%q'"),
+ mp_obj_get_type_qstr(init_ret));
#endif
}
@@ -596,7 +597,7 @@ STATIC void mp_obj_instance_load_attr(mp_obj_t self_in, qstr attr, mp_obj_t *des
dest[0] = elem->value;
return;
}
-#if MICROPY_CPYTHON_COMPAT
+ #if MICROPY_CPYTHON_COMPAT
if (attr == MP_QSTR___dict__) {
// Create a new dict with a copy of the instance's map items.
// This creates, unlike CPython, a 'read-only' __dict__: modifying
@@ -611,7 +612,7 @@ STATIC void mp_obj_instance_load_attr(mp_obj_t self_in, qstr attr, mp_obj_t *des
dest[0] = attr_dict;
return;
}
-#endif
+ #endif
struct class_lookup_data lookup = {
.obj = self,
.attr = attr,
@@ -889,10 +890,10 @@ mp_obj_t mp_obj_instance_call(mp_obj_t self_in, size_t n_args, size_t n_kw, cons
mp_obj_t call = mp_obj_instance_get_call(self_in, member);
if (call == MP_OBJ_NULL) {
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE
- mp_raise_TypeError(translate("object not callable"));
+ mp_raise_TypeError(translate("object not callable"));
#else
- mp_raise_TypeError_varg(translate("'%q' object is not callable"),
- mp_obj_get_type_qstr(self_in));
+ mp_raise_TypeError_varg(translate("'%q' object is not callable"),
+ mp_obj_get_type_qstr(self_in));
#endif
}
mp_obj_instance_t *self = MP_OBJ_TO_PTR(self_in);
@@ -1025,9 +1026,9 @@ STATIC mp_obj_t type_call(mp_obj_t self_in, size_t n_args, size_t n_kw, const mp
if (self->make_new == NULL) {
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE
- mp_raise_TypeError(translate("cannot create instance"));
+ mp_raise_TypeError(translate("cannot create instance"));
#else
- mp_raise_TypeError_varg(translate("cannot create '%q' instances"), self->name);
+ mp_raise_TypeError_varg(translate("cannot create '%q' instances"), self->name);
#endif
}
@@ -1053,7 +1054,7 @@ STATIC void type_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
}
#endif
struct class_lookup_data lookup = {
- .obj = (mp_obj_instance_t*)self,
+ .obj = (mp_obj_instance_t *)self,
.attr = attr,
.meth_offset = 0,
.dest = dest,
@@ -1135,10 +1136,10 @@ mp_obj_t mp_obj_new_type(qstr name, mp_obj_t bases_tuple, mp_obj_t locals_dict)
// TODO: Verify with CPy, tested on function type
if (t->make_new == NULL) {
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE
- mp_raise_TypeError(translate("type is not an acceptable base type"));
+ mp_raise_TypeError(translate("type is not an acceptable base type"));
#else
- mp_raise_TypeError_varg(
- translate("type '%q' is not an acceptable base type"), t->name);
+ mp_raise_TypeError_varg(
+ translate("type '%q' is not an acceptable base type"), t->name);
#endif
}
#if ENABLE_SPECIAL_ACCESSORS
@@ -1161,7 +1162,7 @@ mp_obj_t mp_obj_new_type(qstr name, mp_obj_t bases_tuple, mp_obj_t locals_dict)
o->attr = mp_obj_instance_attr;
o->subscr = instance_subscr;
o->getiter = instance_getiter;
- //o->iternext = ; not implemented
+ // o->iternext = ; not implemented
o->buffer_p.get_buffer = instance_get_buffer;
if (bases_len > 0) {
@@ -1169,7 +1170,7 @@ mp_obj_t mp_obj_new_type(qstr name, mp_obj_t bases_tuple, mp_obj_t locals_dict)
// abstract base class which would translate C-level protocol to
// Python method calls, and any subclass inheriting from it will
// support this feature.
- o->protocol = ((mp_obj_type_t*)MP_OBJ_TO_PTR(bases_items[0]))->protocol;
+ o->protocol = ((mp_obj_type_t *)MP_OBJ_TO_PTR(bases_items[0]))->protocol;
if (bases_len >= 2) {
#if MICROPY_MULTIPLE_INHERITANCE
@@ -1195,10 +1196,10 @@ mp_obj_t mp_obj_new_type(qstr name, mp_obj_t bases_tuple, mp_obj_t locals_dict)
#if ENABLE_SPECIAL_ACCESSORS
// Check if the class has any special accessor methods
if (!(o->flags & TYPE_FLAG_HAS_SPECIAL_ACCESSORS) &&
- (map_has_special_accessors(locals_map) ||
- (num_native_bases == 1 &&
- native_base->locals_dict != NULL &&
- map_has_special_accessors(&native_base->locals_dict->map)))) {
+ (map_has_special_accessors(locals_map) ||
+ (num_native_bases == 1 &&
+ native_base->locals_dict != NULL &&
+ map_has_special_accessors(&native_base->locals_dict->map)))) {
o->flags |= TYPE_FLAG_HAS_SPECIAL_ACCESSORS;
}
#endif
@@ -1239,11 +1240,11 @@ STATIC mp_obj_t super_make_new(const mp_obj_type_t *type_in, size_t n_args, cons
// 0 arguments are turned into 2 in the compiler
// 1 argument is not yet implemented
mp_arg_check_num(n_args, kw_args, 2, 2, false);
- if(!MP_OBJ_IS_TYPE(args[0], &mp_type_type)) {
+ if (!MP_OBJ_IS_TYPE(args[0], &mp_type_type)) {
mp_raise_TypeError(translate("first argument to super() must be type"));
}
mp_obj_super_t *o = m_new_obj(mp_obj_super_t);
- *o = (mp_obj_super_t){{type_in}, args[0], args[1]};
+ *o = (mp_obj_super_t) {{type_in}, args[0], args[1]};
return MP_OBJ_FROM_PTR(o);
}
@@ -1276,7 +1277,7 @@ STATIC void super_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
if (type->parent == NULL) {
// no parents, do nothing
#if MICROPY_MULTIPLE_INHERITANCE
- } else if (((mp_obj_base_t*)type->parent)->type == &mp_type_tuple) {
+ } else if (((mp_obj_base_t *)type->parent)->type == &mp_type_tuple) {
const mp_obj_tuple_t *parent_tuple = type->parent;
size_t len = parent_tuple->len;
const mp_obj_t *items = parent_tuple->items;
@@ -1287,7 +1288,7 @@ STATIC void super_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
// and we don't want to lookup native methods in object.
continue;
}
- mp_obj_class_lookup(&lookup, (mp_obj_type_t*)MP_OBJ_TO_PTR(items[i]));
+ mp_obj_class_lookup(&lookup, (mp_obj_type_t *)MP_OBJ_TO_PTR(items[i]));
if (dest[0] != MP_OBJ_NULL) {
break;
}
@@ -1373,7 +1374,7 @@ bool mp_obj_is_subclass_fast(mp_const_obj_t object, mp_const_obj_t classinfo) {
// type has no parents
return false;
#if MICROPY_MULTIPLE_INHERITANCE
- } else if (((mp_obj_base_t*)self->parent)->type == &mp_type_tuple) {
+ } else if (((mp_obj_base_t *)self->parent)->type == &mp_type_tuple) {
// get the base objects (they should be type objects)
const mp_obj_tuple_t *parent_tuple = self->parent;
const mp_obj_t *item = parent_tuple->items;
@@ -1440,7 +1441,7 @@ mp_obj_t mp_instance_cast_to_native_base(mp_obj_t self_in, mp_const_obj_t native
if (MP_OBJ_FROM_PTR(self_type) == native_type) {
return self_in;
}
- mp_obj_instance_t *self = (mp_obj_instance_t*)MP_OBJ_TO_PTR(self_in);
+ mp_obj_instance_t *self = (mp_obj_instance_t *)MP_OBJ_TO_PTR(self_in);
return self->subobj[0];
}
@@ -1453,7 +1454,7 @@ STATIC mp_obj_t static_class_method_make_new(const mp_obj_type_t *self, size_t n
mp_arg_check_num(n_args, kw_args, 1, 1, false);
mp_obj_static_class_method_t *o = m_new_obj(mp_obj_static_class_method_t);
- *o = (mp_obj_static_class_method_t){{self}, args[0]};
+ *o = (mp_obj_static_class_method_t) {{self}, args[0]};
return MP_OBJ_FROM_PTR(o);
}