Hi Pietro,

On Wed, Jan 23, 2013 at 02:38:53AM +0100, Pietro Braione wrote:
> by transforming x++ in x = x + 1, etc.

CIL already does that for you automatically.

    17. One of the most significant transformations is that expressions that
    contain side-effects are separated into statements.

       int x, f(int);
       return (x ++ + f(x));

    See the CIL output for this code fragment

    Internally, the x ++ statement is turned into an assignment which the
    pretty-printer prints like the original. CIL has only three forms of basic
    statements: assignments, function calls and inline assembly.

    --- http://kerneis.github.com/cil/doc/html/cil/cil004.html#sec-cabs2cil

If you really want to have "x = x + 1" printed as "x ++", you can use the
flag --printCilAsIs [1] or write your own pretty-printer [2].

[1] http://kerneis.github.com/cil/doc/html/cil/cil007.html#toc8
[2] http://kerneis.github.com/cil/doc/html/cil/attributes.html#toc6

Best,
-- 
Gabriel

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
CIL-users mailing list
CIL-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cil-users

Reply via email to