Incredible.....if I run this from a workspace:


| default newClass |
������ SystemChangeNotifier uniqueInstance doSilently: [
��������������� newClass := Object subclass: #TemporalClassForFuel
���������������������� instanceVariableNames: ''
���������������������� classVariableNames: ''
���������������������� poolDictionaries: ''
���������������������� category: #FOO].


It does not halt in SystemChangeNotifier.� But if I do EXACTLY the same but from ClassFactoryForTestCase:

newSubclassOf: aClass instanceVariableNames: ivNamesString classVariableNames:� classVarsString category: category

| default newClass |
������ SystemChangeNotifier uniqueInstance doSilently: [
��������������� newClass := Object subclass: #TemporalClassForFuel
���������������������� instanceVariableNames: ''
���������������������� classVariableNames: ''
���������������������� poolDictionaries: ''
���������������������� category: #FOO].


It DOES HALT.�� :(

any idea what can be happening ?

thanks

On Thu, Apr 19, 2012 at 3:09 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:


On Thu, Apr 19, 2012 at 3:07 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:


On Thu, Apr 19, 2012 at 12:21 AM, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Hi Mariano, we should be able to �"silently" create temporal classes,
without notifying the system.

Have you tried something like this:


default := RPackage organizer.
[
� � � �default unregister.
� � � �SystemChangeNotifier uniqueInstance doSilently: [
� � � � � � � � Object subclass: #TemporalClassForFuel
� � � � � � � � � � � �instanceVariableNames: ''
� � � � � � � � � � � �classVariableNames: ''
� � � � � � � � � � � �poolDictionaries: ''
� � � � � � � � � � � �category: 'FuelTests'].

] ensure:[
� � � � �(Smalltalk globals classNamed: 'TemporalClassForFuel' )
removeFromSystem:false.
� � � � �default register].


Hi Fernando. Thanks, but it doesn't seem to work.
I put a halt in SystemChangeNotifier >> classAdded: aClass inCategory: aCategoryName
Then I modfified ClassFactoryForTestCase:

newSubclassOf: aClass instanceVariableNames: ivNamesString classVariableNames:� classVarsString category: category
��� | newClass default |

��� default := RPackage organizer.
��� [
��� ��� default unregister.
��� ��� SystemChangeNotifier uniqueInstance doSilently: [
��� ��� newClass := aClass
��� ��� ��� subclass: self newName
��� ��� ��� instanceVariableNames: ivNamesString
��� ��� ��� classVariableNames: classVarsString
��� ��� ��� poolDictionaries: ''
��� ��� ��� category: (self packageName, '-', category) asSymbol.
��� ��� ].
��� ] ensure:[
�������� default register].

��� self createdClasses add: newClass.
��� ^newClass


And when creating a class, it still halts on #classAdded: aClass inCategory: aCategoryName

If I proceed the halt it continues up to RPackage >> systemClassAddedActionFrom:
and it fails trying to import an OBSOLETE class.


Look attached screenshot.

Thanks

Saludos,
Fernando

On Wed, Apr 18, 2012 at 11:49 PM, Mariano Martinez Peck
<marianopeck@gmail.com> wrote:
> Hi guys. I am running some tests with Fuel. In such test I create classes and traits. The problem is that I get a: "MessageNotUnderstood: receiver of "isProvided" is nil"
> Everything starts (it seems) when I do #addToComposition: � and I receive a MethodRecategorized event and RPackage calls #systemMethodRecategorizedActionFrom:
> There, the problem is with �-> �method isProvidedByATrait
> the class of the method is 'AnObsoleteClassForTestToBeDeleted1'
> And the error finally arrives to #providedLocatedMethod where it does "each method isProvided" �the problem is that "each" is a RGMethodDefinition with everything in nil except 'name' �and 'annotations'.
> I attach PharoDebug.log.
> Any help is really appreaciated.
>
> Thanks,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>




--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com