blob: 0514634a03dd2ec4d9c3f62dc87f2ef0663905e5 [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
15extern object *newclassobject PROTO((node *, object *, object *));
16extern object *newclassmemberobject PROTO((object *));
17extern object *newclassmethodobject PROTO((object *, object *));
18
19extern object *classmethodgetfunc PROTO((object *));
20extern object *classmethodgetself PROTO((object *));