On Sat, 2008-06-14 at 12:48 +0200, Norbert Hartl wrote:
> On Sat, 2008-06-14 at 12:42 +0200, Stéphane Ducasse wrote:
> > Adrian why did you remove the test for rootsOfTheWorld because it
> > describes that rootsOfTheWorld does I will reintroduce it.
> > if this is ok ?
> >
> No, not really. testRootsOfTheWorld will fail as there are 3 classes
> set up for TraitsTest that have superclass nil.
>
> Maybe the best fix is as Adrian suggested that the test classes
> which are set up for TraitsTest become Object superclass instead
> of ProtoObject.
>
> I could do the change.
>
After all the test is not easy to succeed. TraitsTest sets up 3
classes so
Class rootsOfTheWorld
will be 6 during test run and 3 afterwards. The second line of the
test is completely useless as rootsOfTheWorld does a check if the
superclass is nil.
Norbert
> Norbert
> > On Jun 14, 2008, at 9:56 AM, Adrian Lienhard wrote:
> >
> > >
> > > On Jun 13, 2008, at 17:54 , Stéphane Ducasse wrote:
> > >
> > >> Yes it is used by OB-Refactoring and other and the refactoring
> > >> engine.
> > >> May be it shoudl be packaged there.
> > >
> > > I checked the refactoring engine and this method is used in various
> > > places. So the simplest thing to do was to add it back to the Pharo
> > > image.
> > >
> > > Stef, I published a new version of the package SLICE-test-fixes-al.2.
> > >
> > > Adrian
> > >
> > >
> > >>
> > >>
> > >> Stef
> > >> On Jun 13, 2008, at 5:36 PM, Adrian Lienhard wrote:
> > >>
> > >>> hm, I checked that there are no senders of this method before
> > >>> removing it.
> > >>> How can I reproduce it? i.e., what means "open an environment to
> > >>> apply refactoring"?
> > >>>
> > >>> Is this the refactoring browser? If yes, then it might be a good
> > >>> idea to move the method there if it is not used elsewhere.
> > >>>
> > >>> Adrian
> > >>>
> > >>> On Jun 13, 2008, at 13:56 , Stéphane Ducasse wrote:
> > >>>
> > >>>> So Adrian I have the impression that you remove too much :)
> > >>>>
> > >>>> Stef
> > >>>>
> > >>>> On Jun 13, 2008, at 1:51 PM, Stéphane Ducasse wrote:
> > >>>>
> > >>>>> Once loaded the latest version and update
> > >>>>>
> > >>>>> When I open an environment to apply refactoring
> > >>>>> I get doesNotUnderstand: #rootsOfTheWorld
> > >>>>>
> > >>>>> Stef
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> From: [EMAIL PROTECTED]
> > >>>>> To: [EMAIL PROTECTED]
> > >>>>> Subject: [BUG]Class class(Object)>>doesNotUnderstand:
> > >>>>> #rootsOfTheWorld
> > >>>>>
> > >>>>> here insert explanation of what you were doing, suspect changes
> > >>>>> you've made and so forth.
> > >>>>>
> > >>>>> 13 June 2008 1:50:10 pm
> > >>>>>
> > >>>>> VM: Mac OS - a SmalltalkImage
> > >>>>> Image: Pharo0.1 [latest update: #10037]
> > >>>>>
> > >>>>> SecurityManager state:
> > >>>>> Restricted: false
> > >>>>> FileAccess: true
> > >>>>> SocketAccess: true
> > >>>>> Working Dir /Users/ducasse/Desktop/Pharo/Pharo0.1-10036-2008-06-10
> > >>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
> > >>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/
> > >>>>> My Squeak
> > >>>>>
> > >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> > >>>>> Receiver: Class
> > >>>>> Arguments and temporary variables:
> > >>>>> aMessage: rootsOfTheWorld
> > >>>>> Receiver's instance variables:
> > >>>>> superclass: ClassDescription
> > >>>>> methodDict: a MethodDictionary(#addClassVarName:->a
> > >>>>>
> > >>>>> CompiledMethod (608) #addIn...etc...
> > >>>>> format: 156
> > >>>>> instanceVariables: #('subclasses' 'name'
> > >>>>> 'classPool'
> > >>>>> 'sharedPools' 'environment...etc...
> > >>>>> organization: ('accessing' basicCategory
> > >>>>> basicCategory:
> > >>>>> basicLocalSelectors bas...etc...
> > >>>>> subclasses: an Array(ObjectTracer class
> > >>>>> PseudoContext class
> > >>>>> ProtoObject class)
> > >>>>> name: #Class
> > >>>>> classPool: a Dictionary()
> > >>>>> sharedPools: nil
> > >>>>> environment: a SystemDictionary(lots of globals)
> > >>>>> category: #'Kernel-Classes'
> > >>>>> traitComposition: TBehaviorCategorization
> > >>>>> localSelectors: an IdentitySet(#classPool:
> > >>>>> #sharing:
> > >>>>> #removeFromSystemUnlogged ...etc...
> > >>>>>
> > >>>>> BrowserEnvironment>>allClassesDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in BrowserEnvironment>>classesDo:
> > >>>>> {[:each | (self
> > >>>>> includesClass: eac...etc...
> > >>>>> each: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>> BrowserEnvironment>>classesDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in
> > >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> {[:class | self sele...etc...
> > >>>>> each: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> Receiver: Smalltalk
> > >>>>> Arguments and temporary variables:
> > >>>>> aBlock: [] in
> > >>>>> OREnvironmentNode>>selectorEnvironment
> > >>>>> {[:class :selector | selec...etc...
> > >>>>> class: nil
> > >>>>> sel: nil
> > >>>>> Receiver's instance variables:
> > >>>>> label: nil
> > >>>>> searchStrings: nil
> > >>>>>
> > >>>>>
> > >>>>> --- The full stack ---
> > >>>>> Class class(Object)>>doesNotUnderstand: #rootsOfTheWorld
> > >>>>> BrowserEnvironment>>allClassesDo:
> > >>>>> BrowserEnvironment>>classesDo:
> > >>>>> BrowserEnvironment>>classesAndSelectorsDo:
> > >>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >>>>> OREnvironmentNode>>selectorEnvironment
> > >>>>> ORSystemBrowser>>setMetaNode:node:
> > >>>>> ORSystemBrowser class(OBBrowser
> > >>>>> class)>>metaNode:root:selection:panels:
> > >>>>> ORSystemBrowser class(OBBrowser class)>>root:selection:
> > >>>>> ORSystemBrowser class(OBBrowser class)>>root:
> > >>>>> ORSystemBrowser class(OREnvironmentBrowser class)>>on:
> > >>>>> ORCmdSpawnEnvironment>>execute
> > >>>>> ORCmdSpawnEnvironment(OBCommand)>>perform:orSendTo:
> > >>>>> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
> > >>>>> numArgs) = 0 ifTrue: [target perform: selector] ...]}
> > >>>>> BlockContext>>ensure:
> > >>>>> CursorWithMask(Cursor)>>showWhile:
> > >>>>> MenuItemMorph>>invokeWithEvent:
> > >>>>> MenuItemMorph>>mouseUp:
> > >>>>> MenuItemMorph>>handleMouseUp:
> > >>>>> MouseButtonEvent>>sentTo:
> > >>>>> MenuItemMorph(Morph)>>handleEvent:
> > >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> > >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> > >>>>> MenuItemMorph(Morph)>>processEvent:using:
> > >>>>> MorphicEventDispatcher>>dispatchDefault:with:
> > >>>>> MorphicEventDispatcher>>dispatchEvent:with:
> > >>>>> MenuMorph(Morph)>>processEvent:using:
> > >>>>> MenuMorph(Morph)>>processEvent:
> > >>>>> MenuMorph>>handleFocusEvent:
> > >>>>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> > >>>>> ActiveEvent := anEvent. result := focusHolder han...]}
> > >>>>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> > >>>>> BlockContext>>on:do:
> > >>>>> PasteUpMorph>>becomeActiveDuring:
> > >>>>> HandMorph>>sendFocusEvent:to:clear:
> > >>>>> HandMorph>>sendEvent:focus:clear:
> > >>>>> HandMorph>>sendMouseEvent:
> > >>>>> HandMorph>>handleEvent:
> > >>>>> HandMorph>>processEvents
> > >>>>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
> > >>>>> processEvents. ActiveHand := nil]}
> > >>>>> Array(SequenceableCollection)>>do:
> > >>>>> WorldState>>handsDo:
> > >>>>> WorldState>>doOneCycleNowFor:
> > >>>>> WorldState>>doOneCycleFor:
> > >>>>> PasteUpMorph>>doOneCycle
> > >>>>> [] in Project class>>spawnNewProcess {[[World doOneCycle.
> > >>>>> Processor yield. false] whileFalse. nil]}
> > >>>>> [] in BlockContext>>newProcess {[self value. Processor
> > >>>>> terminateActive]}
> > >>>>>
> > >>>>>
> > >>>>> _______________________________________________
> > >>>>> Pharo-project mailing list
> > >>>>> [email protected]
> > >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
> > >>>>> project
> > >>>>>
> > >>>>
> > >>>>
> > >>>> _______________________________________________
> > >>>> Pharo-project mailing list
> > >>>> [email protected]
> > >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> Pharo-project mailing list
> > >>> [email protected]
> > >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >>>
> > >>
> > >>
> > >> _______________________________________________
> > >> Pharo-project mailing list
> > >> [email protected]
> > >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > [email protected]
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > [email protected]
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project