On 24 juil. 2014, at 18:11, Ben Coman <b...@openinworld.com> wrote: > Camille Teruel wrote: >> >> >> On 24 juil. 2014, at 17:05, stepharo <steph...@free.fr> wrote: >> >>> Camille >>> >>> Ammonite is not that sezzy :) >> >> Because it has tentacles? :-D >> >>> May be >>> autoRepair >>> selfRepair :) >> >> Yes for example ;) > > How about 'Reprecator' because you are Rep(airing)(Dep)recations.
This one is fun :) > >> >>> >>> Stef >>> On 24/7/14 14:34, Camille Teruel wrote: >>>> Hello Pharo users, >>>> >>>> I'm pleased to announce the release of Deprecator. >>>> It's a prototype of a small tool that permits you to deprecate method by >>>> annotating them with a <deprecated: ...> pragma. >>>> This pragma takes a rewrite expression as argument that specifies how to >>>> rewrite the message send to the deprecated method. >>>> If such a deprecated method is executed, a warning is thrown and a >>>> debugger opens. >>>> This debugger has a little 'Rewrite' button that permits to rewrite the >>>> sending method according to the rewrite expression and then resume the >>>> execution with the new rewritten sending method :) >>>> The implementation is a proof-of-concept and is a bit hacky here and >>>> there, but it works. >>>> >>>> Example: >>>> >>>> You have a class C with a method that you deprecate. >>>> Its rewrite expression tells that if it's executed as the result of a >>>> message send of the form: >>>> <receiver> deprecatedMethodArg1: <arg1> arg2: <arg2>, >>>> this message send should be rewritten to: >>>> <receiver> replacementMethodArg1: <arg2> arg2: <arg1>. >>>> Note you can change the order of arguments or even the receiver. >>>> >>>> C>>deprecatedMethodArg1: o1 arg2: o2 >>>> <deprecated: '`@receiver replacementMethodArg1: `@arg2 arg2: `@arg1'> >>>> ^ #deprecated >>>> >>>> C>>replacementMethodArg1: o1 arg2: o2 >>>> ^ #replacement >>>> >>>> C>>senderMethod >>>> ^ self deprecatedMethodArg1: 1 + 1 arg2: 2 + 2. >>>> >>>> Then if you execute C new senderMethod, and then click on the "Rewrite" >>>> button of the debugger, then sending method is rewritten to: >>>> >>>> C>>senderMethod >>>> ^ self replacementMethodArg1: 2 + 2 arg2: 1 + 1. >>>> >>>> and the result is #replacement. >>>> >>>> The repo is on sSmalltalkHub: >>>> MCHttpRepository >>>> location: 'http://smalltalkhub.com/mc/CamilleTeruel/Deprecator/main' >>>> user: '' >>>> password: '' >>>> >>>> I hope for comments, feature suggestions, code reviews, contributors, etc >>>> :) >>>> BTW, if you have a better name for this project let me know! >>>> For example, I thought about Ammonite because it's an extinct animal >>>> (analogy with deprecated) and it fits the sea naming theme. >>>> >>>> Cheers, >>>> Camille >>> >> >