blob: 4b947b5aaad3711f762764e6aa60ab279d2b01ad [file] [log] [blame]
Guido van Rossum85a5fbb1990-10-14 12:07:46 +00001/* Class object interface */
2
3/*
4Classes are really hacked in at the last moment.
5It should be possible to use other object types as base classes,
6but currently it isn't. We'll see if we can fix that later, sigh...
7*/
8
9extern 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
Guido van Rossum3f5da241990-12-20 15:06:42 +000015extern object *newclassobject PROTO((object *, object *));
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000016extern object *newclassmemberobject PROTO((object *));
17extern object *newclassmethodobject PROTO((object *, object *));
18
19extern object *classmethodgetfunc PROTO((object *));
20extern object *classmethodgetself PROTO((object *));