JDK-8167140 : 16: Clean up structure of DA/DU chapter
  • Type: Enhancement
  • Component: specification
  • Sub-Component: language
  • Affected Version: 8
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2016-10-04
  • Updated: 2016-10-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbd_majorUnresolved
Related Reports
Relates :  
Description
It's often difficult to find rules in Chapter 16 that apply to a particular piece of code. Some reorganization could help a lot.

16.2.2 uses "block" as a catch-all term for anything in braces, and has rules here for handling of class declarations, initializers, methods, and constructors. But then additional rules for these things appear in 16.7, 16.8, and 16.9.

16.6 covers anonymous classes, even though they are expressions and properly belong in 16.1.

16.1.10 covers lambda expressions (per JDK-8043176), even though they probably ought to appear in their own subsection.

A read-through of the whole chapter will probably highlight some other anomalies.