1990-10-14 13:07:46 +01:00
|
|
|
/* 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)
|
|
|
|
|
1990-12-20 16:06:42 +01:00
|
|
|
extern object *newclassobject PROTO((object *, object *));
|
1990-10-14 13:07:46 +01:00
|
|
|
extern object *newclassmemberobject PROTO((object *));
|
|
|
|
extern object *newclassmethodobject PROTO((object *, object *));
|
|
|
|
|
|
|
|
extern object *classmethodgetfunc PROTO((object *));
|
|
|
|
extern object *classmethodgetself PROTO((object *));
|