VM Maker: VMMakerExtras-eem.2.mcz

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

VM Maker: VMMakerExtras-eem.2.mcz

commits-2
 
Eliot Miranda uploaded a new version of VMMakerExtras to project VM Maker:
http://source.squeak.org/VMMaker/VMMakerExtras-eem.2.mcz

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

Name: VMMakerExtras-eem.2
Author: eem
Time: 16 December 2016, 11:50:26.779082 am
UUID: 571ec627-4e95-4373-922d-9c3052f78af9
Ancestors: VMMakerExtras-eem.1

Revive MessageSetDifferencer & MessageSetTextDifferencer

=============== Diff against VMMakerExtras-eem.1 ===============

Item was changed:
  ----- Method: MessageSetDifferencer>>contents (in category 'contents') -----
  contents
  "Answer the contents of the receiver"
 
  | left right |
  left := leftSet selection.
  right := rightSet selection.
+ left ifNil:
+ [right ifNil:
+ [currentCompiledMethod := nil.
+ ^''].
+ ^rightSet contents].
+ right ifNil:
- (left isNil and: [right isNil]) ifTrue:
- [currentCompiledMethod := nil.
- ^''].
- left isNil ifTrue:
- [^rightSet contents].
- right isNil ifTrue:
  [^leftSet contents].
+ ^left isMethodReference
- left := leftSet contents.
- right := rightSet contents.
- ^leftSet selection isMethodReference
  ifTrue:
  [CodeDiffBuilder
+ buildDisplayPatchFrom: rightSet contents
+ to: leftSet contents
+ inClass: (left isMethodReference ifTrue: [left actualClass])
- buildDisplayPatchFrom: right
- to: left
- inClass: (leftSet selection isMethodReference ifTrue: [leftSet selection actualClass])
  prettyDiffs: true]
  ifFalse:
+ [CodeDiffBuilder buildDisplayPatchFrom: rightSet contents to: leftSet contents]!
- [CodeDiffBuilder buildDisplayPatchFrom: right to: left]!

Item was changed:
  ----- Method: MessageSetDifferencer>>messageListMenu:shifted: (in category 'message list') -----
  messageListMenu: aMenu shifted: shifted
  "Answer the message-list menu"
+ | newMenu |
+ (newMenu := self menuHook: aMenu named: #messageListMenu shifted: shifted) ~~ aMenu ifTrue:[^newMenu].
- (self menuHook: aMenu named: #messageListMenu shifted: shifted) ifTrue:[^aMenu].
  shifted ifTrue: [^ self shiftedMessageListMenu: aMenu].
  aMenu addList: #(
  ('browse full (b)' browseMethodFull)
  ('browse hierarchy (h)' classHierarchy)
  ('browse method (O)' openSingleMessageBrowser)
  ('browse protocol (p)' browseFullProtocol)
  -
  ('fileOut' fileOutMessage)
  ('printOut' printOutMessage)
  -
  ('senders of... (n)' browseSendersOfMessages)
  ('implementors of... (m)' browseMessages)
  ('inheritance (i)' methodHierarchy)
  ('versions (v)' browseVersions)
  -
  ('inst var refs...' browseInstVarRefs)
  ('inst var defs...' browseInstVarDefs)
  ('class var refs...' browseClassVarRefs)
  ('class variables' browseClassVariables)
  ('class refs (N)' browseClassRefs)
  -
  ('remove unchanged' removeUnchangedDefinitions)
  ('remove changed' removeChangedDefinitions)
  -
  ('more...' shiftedYellowButtonActivity)).
  ^ aMenu!

Item was changed:
  ----- Method: MessageSetTextDifferencer>>contents (in category 'contents') -----
  contents
  "Answer the contents of the receiver"
 
  | left right |
  left := leftSet selection.
  right := rightSet selection.
+ left ifNil:
+ [right ifNil:
+ [currentCompiledMethod := nil.
+ ^''].
+ ^rightSet contents].
- (left isNil and: [right isNil]) ifTrue:
- [currentCompiledMethod := nil.
- ^''].
- left isNil ifTrue:
- [^rightSet contents].
  right isNil ifTrue:
  [^leftSet contents].
+ ^TextDiffBuilder buildDisplayPatchFrom: left source to: right source!
- ^TextDiffBuilder buildDisplayPatchFrom: rightSet contents to: leftSet contents!

Item was added:
+ Object subclass: #TextReference
+ instanceVariableNames: 'text selector class'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'VMMakerExtras-Tools'!
+
+ !TextReference commentStamp: '<historical>' prior: 0!
+ Hack to allow comparing method sources with specific texts!

Item was added:
+ ----- Method: TextReference>>compiledMethodAt:ifAbsent: (in category 'hack puns') -----
+ compiledMethodAt: selector ifAbsent: aBlock
+ ^nil!

Item was added:
+ ----- Method: TextReference>>isMethodReference (in category 'testing') -----
+ isMethodReference
+ ^true!

Item was added:
+ ----- Method: TextReference>>organization (in category 'hack puns') -----
+ organization
+ ^class organization!

Item was added:
+ ----- Method: TextReference>>parserClass (in category 'hack puns') -----
+ parserClass
+ ^class parserClass!

Item was added:
+ ----- Method: TextReference>>setClassAndSelectorIn: (in category 'setting') -----
+ setClassAndSelectorIn: csBlock
+
+ ^csBlock value: class value: selector!

Item was added:
+ ----- Method: TextReference>>source (in category 'accessing') -----
+ source
+ ^text!

Item was added:
+ ----- Method: TextReference>>sourceCode (in category 'accessing') -----
+ sourceCode
+ ^text!

Item was added:
+ ----- Method: TextReference>>sourceMethodAt:ifAbsent: (in category 'hack puns') -----
+ sourceMethodAt: selector ifAbsent: aBlock
+ ^text!

Item was added:
+ ----- Method: TextReference>>sourceString (in category 'accessing') -----
+ sourceString
+ ^text asString!

Item was added:
+ ----- Method: TextReference>>text:class:selector: (in category 'initialize-release') -----
+ text: aText class: aBehavior selector: aSelector
+ text := aText.
+ class := aBehavior.
+ selector := aSelector!

Item was added:
+ ----- Method: TextReference>>theNonMetaClass (in category 'hack puns') -----
+ theNonMetaClass
+ ^self!

Item was added:
+ ----- Method: TextReference>>ultimateSourceCodeAt:ifAbsent: (in category 'hack puns') -----
+ ultimateSourceCodeAt: selector ifAbsent: aBlock
+ ^text!