One more question. How do I get the new source string? Because if I use 
#sourceCode I get old code, if I use #printString it also puts extra 
parenthesis.

Uko

> On 07 Apr 2015, at 17:39, Thierry Goubier <[email protected]> wrote:
> 
> Le 07/04/2015 17:24, Marcus Denker a écrit :
>> 
>>> On 07 Apr 2015, at 17:20, Yuriy Tymchuk <[email protected]> wrote:
>>> 
>>> Hi, I need to change source code of a method by for example adding a 
>>> pragma. Can I just manipulate it’s AST without carrying about source code 
>>> anchors? Because it seems that I have to set from/to values and it looks 
>>> painful.
>>> 
>> 
>> I would do the change, print the code and recompile it… not nice, but for 
>> now the easiest.
> 
> I conccur with Marcus. It's good enough; RB works this way.
> 
> Note that you can change the AST without bothering with the from/to stuff, in 
> most cases (except syntax errors messages?).
> 
>> (this way they old AST gets garbage collected and the new one has all the 
>> offsets into the text correct).
> 
> It's a lot easier than trying to shift the offsets depending on what you have 
> added/not added.
> 
>> I would like to explore if we can’t build a system where everything we 
>> manipulate is ASTs…
> 
> You're the compiler guy: everything is an AST :)
> 
> Thierry
> 


Reply via email to