Community
Participate
Working Groups
I've noticed that some syntax mistakes result in a number of false errors so large that it can be hard to detect the originating error. It would be nice if the compiler highlighted the originating error rather than misdetecting others. I realize this might have to be balanced against the contrary desire to show as many independent errors as possible, so fixing the errors can result in a compiling program. This bug is to warn users about such mistakes and make a place where users can add their own discoveries. I expect that in a given release, some subset of these mistakes might be fixed, so this bug may end up open but partially fixed for some time. Syntax mistakes I've seen cause cascades: - failing to close '}' for a method body or type - failing to terminate a pointcut with ';' - using () after the return value in a method public String() toString() { ... }
Another one: from: after() returning (Type) : ... to: after() returning (Type name) : ...
also: from: aspect A B { ... to: aspect A extends B { ...
*** Bug 44736 has been marked as a duplicate of this bug. ***
also... from: after : logEntry() { to: after () : logEntry() {
Unsure if related: the compiler reports Syntax error on token ";", invalid PseudoToken on the pointcut below, though the issue is that the declare are not permitted in a class. Fix by commenting out declare. ---- public class ClassPointcut { pointcut anyPublicCall() : call(public * *(..)); declare warning: anyPublicCall() : "illegal internal call"; }
It would be good to take a closer look at error productions in the parser during the M4 milestone.
The error detection has been improved in 1.5.0, but this is always an ongoing issue as there is always more that could be done. I'm keeping this open and moving to 1.5.1 - we've done all we intend to do for 1.5.0.
*** Bug 128112 has been marked as a duplicate of this bug. ***
moving out of 1.5.1 - this is a good thing to look at when we open things up in a couple of months to integrate the 3.2 eclipse compiler.
parser recovery is different now in AspectJ6 with the new compiler - but I don't know if we need to do more. I need some real testcases to show cascade issues then we can try them.
fixed as many things as planned to right now. Fixing the problem discussed here: http://andrewclement.blogspot.com/2009/02/aspectj-fixing-reverse-cascade-errors.html will have improved things a great deal. Will work on further issues on a case-by-case basis.