Guido van Rossum | 85a5fbb | 1990-10-14 12:07:46 +0000 | [diff] [blame] | 1 | /* Class object interface */ |
| 2 | |
| 3 | /* |
| 4 | Classes are really hacked in at the last moment. |
| 5 | It should be possible to use other object types as base classes, |
| 6 | but currently it isn't. We'll see if we can fix that later, sigh... |
| 7 | */ |
| 8 | |
| 9 | extern typeobject Classtype, Classmembertype, Classmethodtype; |
| 10 | |
| 11 | #define is_classobject(op) ((op)->ob_type == &Classtype) |
| 12 | #define is_classmemberobject(op) ((op)->ob_type == &Classmembertype) |
| 13 | #define is_classmethodobject(op) ((op)->ob_type == &Classmethodtype) |
| 14 | |
| 15 | extern object *newclassobject PROTO((node *, object *, object *)); |
| 16 | extern object *newclassmemberobject PROTO((object *)); |
| 17 | extern object *newclassmethodobject PROTO((object *, object *)); |
| 18 | |
| 19 | extern object *classmethodgetfunc PROTO((object *)); |
| 20 | extern object *classmethodgetself PROTO((object *)); |