I stumbled upon this method that generates the vTable description, but
generates the wrong names. I think it should use the interface name, not
the generator's class name.
================================================
vtableSignatureCodeFor: anInterfaceTypeSpec
| signatureName source |
"Shouldn't this rather be anInterfaceTypeSpec name instead of self
name??"
"signatureName := COMInterfaceVTableSignatures
vtableSignatureNameFor: self name."
signatureName := COMInterfaceVTableSignatures
vtableSignatureNameFor: anInterfaceTypeSpec name.
source := String new writeStream.
source
nextPutAll: signatureName;
cr;
cr.
source
tab;
nextPutAll: '<C: struct ' , signatureName , ' {';
cr.
anInterfaceTypeSpec constructVTableDescription do: [:each |
source tab.
each signatureType pointerType printOn: source forName: each name.
source nextPut: $; ; cr.].
source nextPutAll: '}>'.
^source contents
================================================
Thomas
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc