The Trunk: Tools-ul.276.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-ul.276.mcz

commits-2
Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.276.mcz

==================== Summary ====================

Name: Tools-ul.276
Author: ul
Time: 6 November 2010, 4:10:08.889 am
UUID: e7a95acb-6dee-e348-9725-7063ed5a72f7
Ancestors: Tools-ul.275

- use ClassDiffBuilder for diffing class definitions and comments in ChangeList
- if MessageTally is not in memory, then don't load it in Debugger >> #process:controller:context: (from Cuis)

=============== Diff against Tools-ul.275 ===============

Item was changed:
  ----- Method: ChangeList>>contentsDiffedFromCurrent (in category 'viewing access') -----
  contentsDiffedFromCurrent
  "Answer the contents diffed forward from current (in-memory) method version"
 
  | aChange aClass |
  listIndex = 0
  ifTrue: [^ ''].
  aChange := changeList at: listIndex.
  (aChange type == #method
  and: [(aClass := aChange methodClass) notNil
  and: [aClass includesSelector: aChange methodSelector]]) ifTrue:
  [^Utilities
  methodDiffFor: aChange text
  class: aClass
  selector: aChange methodSelector
  prettyDiffs: self showingPrettyDiffs].
 
  aChange type == #doIt ifTrue:
  [| tokens |
  tokens := Scanner new scanTokens: aChange string.
  ((tokens select:
  [:substr| #(subclass: variableByteSubclass: variableWordSubclass:
  instanceVariableNames: classVariableNames: ) includes: substr])
  asSet size >= 3
   and: [(aClass := Smalltalk at: tokens third ifAbsent: []) notNil
   and: [aClass isBehavior]]) ifTrue:
+ [^ClassDiffBuilder buildDisplayPatchFrom: aClass definition to: aChange string].
- [^TextDiffBuilder buildDisplayPatchFrom: aClass definition to: aChange string].
 
  (tokens size = 4
  and: [tokens second == #class
  and: [tokens third == #instanceVariableNames:
  and: [(aClass := Smalltalk at: tokens first ifAbsent: []) notNil
  and: [aClass isBehavior]]]]) ifTrue:
+ [^ClassDiffBuilder buildDisplayPatchFrom: aClass class definition to: aChange string]].
- [^TextDiffBuilder buildDisplayPatchFrom: aClass class definition to: aChange string]].
 
  (aChange type == #classComment
  and: [(aClass := aChange commentClass) notNil]) ifTrue:
+ [^ClassDiffBuilder buildDisplayPatchFrom: aClass comment asString to: aChange string].
- [^TextDiffBuilder buildDisplayPatchFrom: aClass comment asString to: aChange string].
 
  ^(changeList at: listIndex) text!

Item was changed:
  ----- Method: Debugger>>process:controller:context: (in category 'private') -----
  process: aProcess controller: aController context: aContext
 
  super initialize.
+ Smalltalk at: #MessageTally ifPresentAndInMemory: [ :tally |
+ tally terminateTimerProcess].
- Smalltalk at: #MessageTally ifPresent:[:tally| tally terminateTimerProcess].
  contents := nil.
  interruptedProcess := aProcess.
  interruptedController := aController.
  contextStackTop := aContext.
  self newStack: (contextStackTop stackOfSize: 1).
  contextStackIndex := 1.
  externalInterrupt := false.
  selectingPC := true.
  Smalltalk isMorphic ifTrue:
  [errorWasInUIProcess := false]!