48 lines
829 B
C
48 lines
829 B
C
|
/* Type object implementation */
|
||
|
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#include "PROTO.h"
|
||
|
#include "object.h"
|
||
|
#include "stringobject.h"
|
||
|
#include "objimpl.h"
|
||
|
|
||
|
/* Type object implementation */
|
||
|
|
||
|
static void
|
||
|
typeprint(v, fp, flags)
|
||
|
typeobject *v;
|
||
|
FILE *fp;
|
||
|
int flags;
|
||
|
{
|
||
|
fprintf(fp, "<type '%s'>", v->tp_name);
|
||
|
}
|
||
|
|
||
|
static object *
|
||
|
typerepr(v)
|
||
|
typeobject *v;
|
||
|
{
|
||
|
char buf[100];
|
||
|
sprintf(buf, "<type '%.80s'>", v->tp_name);
|
||
|
return newstringobject(buf);
|
||
|
}
|
||
|
|
||
|
typedef struct {
|
||
|
OB_HEAD
|
||
|
long ob_ival;
|
||
|
} intobject;
|
||
|
|
||
|
typeobject Typetype = {
|
||
|
OB_HEAD_INIT(&Typetype)
|
||
|
0, /* Number of items for varobject */
|
||
|
"type", /* Name of this type */
|
||
|
sizeof(typeobject), /* Basic object size */
|
||
|
0, /* Item size for varobject */
|
||
|
0, /*tp_dealloc*/
|
||
|
typeprint, /*tp_print*/
|
||
|
0, /*tp_getattr*/
|
||
|
0, /*tp_setattr*/
|
||
|
0, /*tp_compare*/
|
||
|
typerepr, /*tp_repr*/
|
||
|
};
|