[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