[squeak-dev] The Trunk: Morphic-nice.519.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Feb 14 21:24:02 UTC 2011
Nicolas Cellier uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-nice.519.mcz
==================== Summary ====================
Name: Morphic-nice.519
Author: nice
Time: 14 February 2011, 10:22:53.154 pm
UUID: d83915ed-3966-4301-9439-0f94337843b6
Ancestors: Morphic-mtf.518
Get rid of FakeClassPool adopt:
RATIONALE:
1) this is useless
A FakeClassPool instance is used only in case of a nil #doItReceiver, so it is always adopting nil and does not pass any pool of interest.
2) this is useless
For a long time, the Compiler no longer needs a FakeClassPool instance in order to access the class and shared variables. Anyway, it was not a nice feature to use a global variable to pass states to the Compiler, was it ?
=============== Diff against Morphic-mtf.518 ===============
Item was changed:
----- Method: SmalltalkEditor>>tallySelection (in category 'do-its') -----
tallySelection
"Treat the current selection as an expression; evaluate it and return the time took for this evaluation"
| result rcvr ctxt valueAsString v |
self lineSelectAndEmptyCheck: [^ -1].
(model respondsTo: #doItReceiver)
+ ifTrue: [ rcvr := model doItReceiver.
- ifTrue: [FakeClassPool adopt: model selectedClass. "Include model pool vars if any"
- rcvr := model doItReceiver.
ctxt := model doItContext]
ifFalse: [rcvr := ctxt := nil].
result := [ | cm |
cm := rcvr class evaluatorClass new
compiledMethodFor: self selectionAsStream
in: ctxt
to: rcvr
notifying: self
ifFail: [FakeClassPool adopt: nil. ^ #failedDoit]
logged: false.
Time millisecondsToRun:
[v := cm valueWithReceiver: rcvr arguments: #() ].
]
on: OutOfScopeNotification
do: [ :ex | ex resume: true].
- FakeClassPool adopt: nil.
"We do not want to have large result displayed"
valueAsString := v printString.
(valueAsString size > 30) ifTrue: [valueAsString := (valueAsString copyFrom: 1 to: 30), '...'].
PopUpMenu
inform: 'Time to compile and execute: ', result printString, 'ms res: ', valueAsString.
!
Item was changed:
----- Method: TextEditor>>debugIt (in category 'do-its') -----
debugIt
| method receiver context |
(model respondsTo: #doItReceiver)
ifTrue:
+ [receiver := model doItReceiver.
- [FakeClassPool adopt: model selectedClass.
- receiver := model doItReceiver.
context := model doItContext]
ifFalse:
[receiver := context := nil].
self lineSelectAndEmptyCheck: [^self].
method := self compileSelectionFor: receiver in: context.
method notNil ifTrue:
+ [self debug: method receiver: receiver in: context].!
- [self debug: method receiver: receiver in: context].
- FakeClassPool adopt: nil!
Item was changed:
----- Method: TextEditor>>evaluateSelection (in category 'do-its') -----
evaluateSelection
"Treat the current selection as an expression; evaluate it and return the result"
| result rcvr ctxt |
self lineSelectAndEmptyCheck: [^ ''].
(model respondsTo: #doItReceiver)
+ ifTrue: [ rcvr := model doItReceiver.
- ifTrue: [FakeClassPool adopt: model selectedClass. "Include model pool vars if any"
- rcvr := model doItReceiver.
ctxt := model doItContext]
ifFalse: [rcvr := ctxt := nil].
result := [
rcvr class evaluatorClass new
evaluate: self selectionAsStream
in: ctxt
to: rcvr
notifying: self
ifFail: [FakeClassPool adopt: nil. ^ #failedDoit]
logged: true.
]
on: OutOfScopeNotification
do: [ :ex | ex resume: true].
- FakeClassPool adopt: nil.
^ result!
More information about the Squeak-dev
mailing list
|