[Vm-dev] VM Maker: Cog-eem.133.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Feb 6 03:59:32 UTC 2014


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

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

Name: Cog-eem.133
Author: eem
Time: 5 February 2014, 7:59:10.717 pm
UUID: 298eac1e-f169-461c-b48a-421ca2689ef1
Ancestors: Cog-eem.132

Fix rewriting of Character methods to delete the method(s) that
assign to value.

=============== Diff against Cog-eem.132 ===============

Item was changed:
+ ----- Method: SpurBootstrapMonticelloPackagePatcher>>modifiedCharacterDefinitionsIn: (in category 'private-accessing') -----
- ----- Method: SpurBootstrapMonticelloPackagePatcher>>modifiedCharacterDefinitionsIn: (in category 'patching') -----
  modifiedCharacterDefinitionsIn: definitions
  	| rewriter |
  	rewriter := RBParseTreeRewriter new.
+ 	rewriter
+ 		replace: 'value' with: 'self asInteger';
+ 		replace: 'value := ``@args' with: 'DELETEME'.
- 	rewriter replace: 'value' with: 'self asInteger'.
  	^((definitions select: [:d| d isMethodDefinition and: [d fullClassName = #Character]])
  		collect: [:d| { d. self patchDefinition: d withRewriter: rewriter} ]
  		thenSelect: [:pair| pair first source ~= pair second source])
  			collect: [:pair| pair second]!

Item was changed:
  ----- Method: SpurBootstrapMonticelloPackagePatcher>>patchForPackage:withPatches:snapshot: (in category 'patching') -----
  patchForPackage: package withPatches: patches snapshot: snapshot
  	(package includesClass: Character) ifTrue:
  		[patches addAll: ((self modifiedCharacterDefinitionsIn: snapshot definitions) 
  							select:
  								[:def|
  								 patches noneSatisfy:
  									[:addition|
  									addition definition selector = def selector
  									and: [addition definition className = def className
  									and: [addition definition classIsMeta = def classIsMeta]]]]
  							thenCollect:
+ 								[:def|
+ 								 ((def source includesSubString: 'DELETEME')
+ 									ifTrue: [MCRemoval]
+ 									ifFalse: [MCAddition]) of: def])].
- 								[:def| MCAddition of: def])].
  	^MCPatch operations: patches!



More information about the Vm-dev mailing list