summaryrefslogtreecommitdiffstatshomepage
path: root/py/objobject.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-03-22 21:31:28 +0000
committerDamien George <damien.p.george@gmail.com>2014-03-22 21:31:28 +0000
commit3ec0a1a32dcda730fa3745f30e97565200f593e8 (patch)
tree520dc05caa882fe824e54b2c4c4a32cb3f037661 /py/objobject.c
parenteabdf6718a8d9d10c810b8cd440b82a11d517205 (diff)
downloadmicropython-3ec0a1a32dcda730fa3745f30e97565200f593e8.tar.gz
micropython-3ec0a1a32dcda730fa3745f30e97565200f593e8.zip
py: Add 'object' object.
Diffstat (limited to 'py/objobject.c')
-rw-r--r--py/objobject.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/py/objobject.c b/py/objobject.c
new file mode 100644
index 0000000000..274135c6c9
--- /dev/null
+++ b/py/objobject.c
@@ -0,0 +1,30 @@
+#include <stdlib.h>
+
+#include "nlr.h"
+#include "misc.h"
+#include "mpconfig.h"
+#include "qstr.h"
+#include "obj.h"
+#include "runtime0.h"
+
+typedef struct _mp_obj_object_t {
+ mp_obj_base_t base;
+} mp_obj_object_t;
+
+const mp_obj_type_t mp_type_object;
+
+STATIC mp_obj_t object_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
+ if (n_args != 0 || n_kw != 0) {
+ nlr_jump(mp_obj_new_exception_msg(&mp_type_TypeError, "object takes no arguments"));
+ }
+
+ mp_obj_object_t *o = m_new_obj(mp_obj_object_t);
+ o->base.type = &mp_type_object;
+ return o;
+}
+
+const mp_obj_type_t mp_type_object = {
+ { &mp_type_type },
+ .name = MP_QSTR_object,
+ .make_new = object_make_new,
+};