Bug 132456 - [parsing] Inconsistency in identifiers allowed for labeled statements and break/continue
Summary: [parsing] Inconsistency in identifiers allowed for labeled statements and bre...
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.0   Edit
Hardware: All All
: P3 trivial (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-18 17:13 EST by Martin Bravenboer CLA
Modified: 2008-08-22 16:08 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Bravenboer CLA 2006-03-18 17:13:21 EST
In the grammar of AspectJ 1.5.0 labeled statements allow pseudo keywords:

    LabeledStatement ::= JavaIdentifier ':' Statement

However, the break and continue statements do not:

    BreakStatement ::= 'break' Identifier ';'
    ContinueStatement ::= 'continue' Identifier ';'

Example:
---------------------------------
public class Foo {
  public void foo() {
    aspect : while(true) {
      continue aspect;
    }
  }
}
---------------------------------

ajc complains about the continue statement, but not about the labeled while.
Comment 1 Andrew Clement CLA 2008-01-22 13:54:53 EST
parser will be reopened in this timeframe i think
Comment 2 Andrew Clement CLA 2008-02-21 12:08:41 EST
it was reopened but has been shut again.  May get to it before final
Comment 3 Andrew Clement CLA 2008-06-11 17:48:46 EDT
In 1.6.1 I did open it to allow:

- before/after/etc to be used in qualified references (eg. before[0])
- parsing of privileged generic aspects
- better error message for around advice missing return type

but its shut again.