Community
Participate
Working Groups
public class A{ boolean m(){ return /*[*/a().length != 3/*]*/; } int[] a(){ return null; } }
The problem is that the reported positions for the expression a().length != 3 is incorrect. The expression doesn't include the message send. It starts with l from length. Moving to JDT Core
Reproduced. I am working on it.
The bug comes from the wrong position returned by the parser. I used them to set the source range of the InfixExpression I created for the expression: a().length != 3. Sometimes the positions provided by the Parser are confusing <g>. Now I set the start position of the infix expression to the starting positions of its left expression. Fixed and released in HEAD.