> On 22 May 2020, at 04:24, Sean P. DeNigris <s...@clipperadams.com> wrote:
> 
> Esteban Lorenzano wrote
>> The class comments are not clear?
> 
> Maybe it's me ;-)
> 
> 
> Esteban Lorenzano wrote
>> Opaque object = https://en.wikipedia.org/wiki/Opaque_data_type
>> &lt;https://en.wikipedia.org/wiki/Opaque_data_type&gt;
>> External object = a pointer to something. 
> 
> For example, why is ObjCClass a subclass of FFIExternalObject instead of
> FFIOpaqueObject when the docs say that a "Class [is] An opaque type that
> represents an Objective-C class"? Also, is the distinction just conceptual?
> I don't see what either class "buys" you in behavior since they are siblings
> that both pretty much have no methods.

This is because ObjCClass = SomeOpaqueStructurePointer (is already a pointer), 
same as ObjCSelector and ObjCMethod.
Difference is subtle, because is just a different way of representing the same. 

The easiest way I have to explain is: 

You use an OpaqueObject when you will refer to the opaque type in calls as:  
someFunction(opaqueobject *someArg).
You use an ExternalObject when you will refer to the opaque type in calls as: 
someFunction(externalobject someArg).

Esteban

> 
> 
> 
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html 
> <http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html>

Reply via email to