Class side #initialize is executed only when a class is loaded for the first time.
Posteriors "updates" to the class, or even to the initialize method do not re-execute #initialize.

Now, about the FFI particular requirements, I'd let Esteban answer :)

On Tue, Nov 14, 2017 at 3:08 AM, Ben Coman <btc@openinworld.com> wrote:
Because I'm lazy to experiment this instant (not wanting to get distracted from my current track), and also its probably a useful remainder for others I'll just ask...

When MyClass is loaded, #initialize is sent to it.�� Typically the class-side>>initialize should not call "super initialize" to avoid re-initializing the superclaass, but what if MyClass doesn't implement #initialize?�� Does the message fall through to the superclass, or is #initialize only sent if MyClass implements it?

Concrete example...
FFIExternalEnumeration subclass MyEnumeration needs to be sent #initializeEnumeration when it is loaded.�� We have...

�� �� FFIExternalEnustmeration>>#initialize��
self initializeEnumeration

so is MyEnumeration *required* to implement its own MyEnumeration>>#initialize, or can it rely FFIExternalEnustmeration>>#initialize.�� ��I believe it is the former, but just wanted to confirm my understanding.

cheers -ben





--

������

Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - http://www.cnrs.fr


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13