| /* 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 *)); |