[squeak-dev] The Trunk: Tools-fbs.486.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jul 15 22:01:59 UTC 2013
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]!
More information about the Squeak-dev
mailing list
|