diff options
Diffstat (limited to 'Include/classobject.h')
-rw-r--r-- | Include/classobject.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Include/classobject.h b/Include/classobject.h new file mode 100644 index 0000000..0514634 --- /dev/null +++ b/Include/classobject.h @@ -0,0 +1,20 @@ +/* Class object interface */ + +/* +Classes are really hacked in at the last moment. +It should be possible to use other object types as base classes, +but currently it isn't. We'll see if we can fix that later, sigh... +*/ + +extern typeobject Classtype, Classmembertype, Classmethodtype; + +#define is_classobject(op) ((op)->ob_type == &Classtype) +#define is_classmemberobject(op) ((op)->ob_type == &Classmembertype) +#define is_classmethodobject(op) ((op)->ob_type == &Classmethodtype) + +extern object *newclassobject PROTO((node *, object *, object *)); +extern object *newclassmemberobject PROTO((object *)); +extern object *newclassmethodobject PROTO((object *, object *)); + +extern object *classmethodgetfunc PROTO((object *)); +extern object *classmethodgetself PROTO((object *)); |