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: stephane.ducasse@inria.fr To: squeak-dev@lists.squeakfoundation.org 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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project