The Trunk: Tools-fbs.486.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-fbs.486.mcz

commits-2
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.486.mcz

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

Name: Tools-fbs.486
Author: fbs
Time: 15 July 2013, 11:01:05.791 pm
UUID: 9e272ffa-9ada-eb47-a82d-22699ec6eccf
Ancestors: Tools-fbs.485

#methodDiffFor:class:selector:prettyDiffs: has only one sender, so move the method where if wants to go and deprecate the old copy.

=============== Diff against Tools-fbs.485 ===============

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:
+ [^self
- [^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].
 
  (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]].
 
  (aChange type == #classComment
  and: [(aClass := aChange commentClass) notNil]) ifTrue:
  [^ClassDiffBuilder buildDisplayPatchFrom: aClass comment asString to: aChange string].
 
  ^(changeList at: listIndex) text!

Item was added:
+ ----- Method: ChangeList>>methodDiffFor:class:selector:prettyDiffs: (in category 'viewing access') -----
+ methodDiffFor: aString class: aClass selector: aSelector prettyDiffs: prettyDiffBoolean
+ "Return a string comprising a source-code diff between an existing method and the source-code in aString.  DO prettyDiff if prettyDiffBoolean is true."
+
+ ^ (aClass notNil and: [aClass includesSelector: aSelector])
+ ifTrue:
+ [TextDiffBuilder
+ buildDisplayPatchFrom: (aClass sourceCodeAt: aSelector)
+ to: aString
+ inClass: aClass
+ prettyDiffs: prettyDiffBoolean]
+ ifFalse:
+ [aString copy]!