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!
vm-dev@lists.squeakfoundation.org