A minor thing, but a fix is probably easy...
I have...
FFIExternalStructure subclass: #CXSourceLocation
instanceVariableNames: ''
classVariableNames: 'VoidPointer2'
package: 'Libclang'
initialize
"self initialize"
VoidPointer2 := FFITypeArray ofType: 'void*' size: 2.
fieldsDesc
"self rebuildFieldAccessors"
^#(
VoidPointer2 ptr_data;
uint int_data;
)
Now when I debug into "self rebuildFieldAccessors"
into #compileFields:withAccessors:
through "fieldSpec fieldsAndTypesDo: [ :fieldName :type | "
the [Variables] tab shows...
type "FFITypeArrayType(a subclass of FFITypeArray)"
and my perception is that this is wrong
since FFITypeArrayType is not a subclass FFITypeArray.
Intuitively I'm reading the text in the round brackets as a commentary on FFITypeArrayType.
But debugging into "type printString"
bring me to FFITypeArrayType(FFIExternalReferenceType) >> printOn: aStream
aStream << self className << '(' << objectClass name << ')'
where objectClass is an instance variable, so the commentary is about composition rather than inheritance.
Now I properly understand the truth, I still have trouble with perceiving the printString the wrong way, so I'd like to add a visual cue that this is composition.
Do we have such a standard convention?
Options...
1. Square brackets
a. FFITypeArrayType[a subclass of FFITypeArray]
b. FFITypeArrayType([a subclass of FFITypeArray])
2. Curly brackets
a. FFITypeArrayType{a subclass of FFITypeArray}
b. FFITypeArrayType({a subclass of FFITypeArray})
3. Array-ish
a. FFITypeArrayType#(a subclass of FFITypeArray)
b. FFITypeArrayType(#(a subclass of FFITypeArray))
4. Text
a. FFITypeArrayType(holding a subclass of FFITypeArray)
I'm tending towards [2a] or [2b] since two brackets together seem more distinct.
It may be easy to overlook a difference in a single bracket,
and also it feels more like holding something inside the object.
cheers -ben
P.S. Regarding the existing Libclang bindings. I'm not trying to compete but more along the line... "its worthwhile reinventing the wheel when you want to learn more about how a wheel works." I'll switch over to existing bindings in a while.