[Vm-dev] VM Maker: VMMakerExtras-eem.2.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Dec 16 19:50:27 UTC 2016
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!
More information about the Vm-dev
mailing list