<snip>
Should isNull be defined as you suggest in ByteArray? If the semantic is #isNullPointer, then I don't think so. If it's a more general message, then maybe...
What is the class of handle?
It is ByteArray. I agree that ByteArray responding to isNull is weird.
The struct the memory maps is struct { void* data, int flags } so I can work around this with something like
self data ifNil: [.....]
I have just encountered another problem.
Ben creates a type specification as a class variable to model void*[3]
VoidPointer3 := FFITypeArray ofType: 'void*' size: 3.
which produces the following accessor for data
(FFITypeArray ofType: #FFIVoid size: 3) fromHandle: (handle copyFrom: OFFSET_DATA to: OFFSET_DATA + 23)
This fails because the native size of void is undefined even though it is a void* being mapped.
I will continue to see if I can figure out why it generates this spec - definitely a broken assumption somewhere in here.
-Todd Blanchard