summaryrefslogtreecommitdiffstatshomepage
path: root/py/objdict.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-01-09 20:57:50 +0000
committerDamien George <damien.p.george@gmail.com>2014-01-09 20:57:50 +0000
commit062478e66d03cc59ed73484a3032ef5f08db12a4 (patch)
tree6d3beb59ade6fe3d1ab7a5f05ff876e63062717f /py/objdict.c
parentd944a66ead38b15b5a3c7a4ae8b054451fd5c077 (diff)
downloadmicropython-062478e66d03cc59ed73484a3032ef5f08db12a4.tar.gz
micropython-062478e66d03cc59ed73484a3032ef5f08db12a4.zip
Improved type/class/instance code; mp_obj_type_t now has load_attr, store_attr.
Creating of classes (types) and instances is much more like CPython now. You can use "type('name', (), {...})" to create classes.
Diffstat (limited to 'py/objdict.c')
-rw-r--r--py/objdict.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/py/objdict.c b/py/objdict.c
index 20e3e570d5..1c90998585 100644
--- a/py/objdict.c
+++ b/py/objdict.c
@@ -287,3 +287,9 @@ mp_obj_t mp_obj_dict_store(mp_obj_t self_in, mp_obj_t key, mp_obj_t value) {
mp_map_lookup(&self->map, key, MP_MAP_LOOKUP_ADD_IF_NOT_FOUND)->value = value;
return self_in;
}
+
+mp_map_t *mp_obj_dict_get_map(mp_obj_t self_in) {
+ assert(MP_OBJ_IS_TYPE(self_in, &dict_type));
+ mp_obj_dict_t *self = self_in;
+ return &self->map;
+}