Changes

Summary

  1. Do not generate useless initialize methods via slot usage. (details)
  2. Manage traits case. (details)
Commit 76ac54c738782328072bf31bdeed58dba5f42dd5 by cyril
Do not generate useless initialize methods via slot usage.
When we use a slot, we ensure the #initialize method call
#initializeSlots. But this mecanism can create useless initialize
methods in case the superclass already call #initializeSlot and the
subclass has nothing more to initialize.  This change the position of
#ensureInitializeMethodExists to not generate useless code.
+ Update tests
The file was modifiedsrc/Slot-Core/Slot.class.st (diff)
The file was modifiedsrc/Slot-Tests/SlotClassVariableTest.class.st (diff)
Commit 8bfb56c8672d6e618ffd0f147913f7ea9acf2518 by cyril
Manage traits case.
The file was modifiedsrc/Slot-Core/Slot.class.st (diff)

Summary

  1. Do not generate useless initialize methods via slot usage. (details)
  2. Manage traits case. (details)
Commit 76ac54c738782328072bf31bdeed58dba5f42dd5 by cyril
Do not generate useless initialize methods via slot usage.
When we use a slot, we ensure the #initialize method call
#initializeSlots. But this mecanism can create useless initialize
methods in case the superclass already call #initializeSlot and the
subclass has nothing more to initialize.  This change the position of
#ensureInitializeMethodExists to not generate useless code.
+ Update tests
The file was modifiedsrc/Slot-Core/Slot.class.st (diff)
The file was modifiedsrc/Slot-Tests/SlotClassVariableTest.class.st (diff)
Commit 8bfb56c8672d6e618ffd0f147913f7ea9acf2518 by cyril
Manage traits case.
The file was modifiedsrc/Slot-Core/Slot.class.st (diff)