[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