State isa;
private int asi;
instance (id) alloc;
isa will have been initialized to their default
value.
boolean classp;
TRUE, since we're a class object.
boolean coding-permanent-object-p;
YES. This should not be changed; this method is used in
situations where it is not known whether the object is a class or not.
In other situations, where it is known to be a class, this method is
not invoked as it is known to return YES.
boolean dump_simple_p;
YES.
class (id) kind;
isa.
ByteString name;
int (n) num_instances;
Unit (unit) unit post unit != nil;
instance (id) new;
OutputStream write OutputStream s;
s.
class (id) isa;
private int asi;
boolean classp;
FALSE, as we're an instance, and not a class.
protected void
dump MutableKeyed done
indent MutableByteString prefix
simple boolean allow_simple
level int level
to OutputStream s;
dump.
id init;
class (id) kind;
void set_kind class (State) a_class;
isa) into the
a_class. Currently both the original and the new class must carry
exactly the same state. Looser restrictions could be implemented...
OutputStream write OutputStream s;
s.
OutputStream writeFields OutputStream s;
write to allow subclasses to write their fields to
the stream s. The default implementation does nothing.
void dealloc;
Do not message any other objects from within this method as they might have become garbage too.
Since class objects can not become garbage, it is safe to message class objects.
When overriding this method, it is not necessary to invoke State's
implementation.
void gc_mark_elements;