An ExternalAddress is an opaque handle to objects outside Smalltalk memory (e.g., a pointer).
byteAt:
Go through a different primitive since the receiver describes data in the outside world
byteAt:put:
isExternalAddress
Return true if the receiver describes an object in the outside world
asInteger
convert address to integer
fromInteger:
set my handle to point at address.
beNull
Make the receiver a NULL pointer
free
Primitive. Free the object pointed to on the external heap. Dangerous - may break your system if the receiver hasn't been allocated by ExternalAddress class>>allocate:. No checks are done.
printOn:
print this as a hex address ('@ 16rFFFFFFFF') to distinguish it from ByteArrays
asByteArrayPointer
Return a ByteArray describing a pointer to the contents of the receiver.
startUp:
This message is sent to registered classes when the system is coming up.
allocate:
Primitive. Allocate an object on the external heap.
new
External addresses are always 4 bytes long
new:
You better don't try this...