Community
Participate
Working Groups
class Test{ void test(){ String i= 2 * 3 + "" + (true); } } 'true' does live in a ParenthesizedExpression here. strangely, if you change the line to: String i= 3 + "" + (true); it does.
I guess you mean "it doesn't" in the first case and "it does" in the second. I will investigate immediately.
yes, sorry for the typo
I located the problem. It explained why it works in the second case. When I convert 2 * 3 + "" + (true), I realized that this won't fix in a single infix expression using the extended list operands. Therefore I convert again the first binary expression, but like (true) was already converted I lost its original positions and when I convert it again, I have no idea it has parenthesis. I will try to see how to change this algorithm. It might take a while to get it working properly.
Fixed and released in 2.1 stream. Thanks for your report. Regression tests added.
Change milestone
Verified.