> Is there any documentation on using AST & RB?

http://www.refactory.com/RefactoringBrowser/index.html
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.9246&rep=rep1&type=pdf

> I didn't find anything enlightening via google, the tests, or the
> class/method comments.

Note that the classes contain actually excellent documentation.

> In trying to replace all calls to #deprecate: and
> #deprecate:in: to #deprecate:on:in: (Issue 4718), it took me hours to step
> through OB's refactoring and learn the syntax.
>
> In case anyone else can benefit, I eventually ended up with:
>        RBParseTreeRewriter new
>                replace: '``@object deprecated: ``@arg1 '
>                with: '``@object deprecated: ``@arg1 on:(''', dateString,  ''')
> in:(''Pharo', versionNumber asString, ''')'.

Actually you can do it with a few clicks: Select #deprecated:, click
on "Refactor method > Add parameter" and follow the instructions.

The rewrite engine takes a while to master. It is the infrastructure
that runs most of the refactorings and it is typically not necessary
for basic refactorings like this one.

Lukas

-- 
Lukas Renggli
www.lukas-renggli.ch

Reply via email to