Review request: update javac to properly output mandated parameters in MethodParameters attributes
maurizio cimadamore
maurizio.cimadamore at oracle.com
Thu Feb 7 12:29:42 PST 2013
On 07-Feb-13 7:32 PM, Alex Buckley wrote:
> In http://cr.openjdk.java.net/~abuckley/8misc.pdf, see JLS 13.1 for
> new information about explicitly and implicitly declared constructs.
> Also, see JVMS 4.7.22 for how a compiler emitting class files can mark
> formal parameters as required by JLS 13.1.
Anyway thanks for pointing me out at 13.1 - I missed that on a first scan.
It would seem that the spec is not defining (on top of my head - there
are probably others):
*) (effectively) final variables passed in to inner classes (javac only
does that for reference-types as others are just constants that can be
produced on the stack at will)
*) I believe javac's generated enum constructor has an additional
parameter accepting the ordinal
It feels like the second should probably be spec'd - the first I don't
know - I see a lot of implementation room on that one.
In any case, the implementation problem remains: it doesn't distinguish
between impl-only parameters and 'implicitly declared' ones. It just
takes all parameters that do not have a correspondent in the source code
and put them in the same place.
Maurizio
More information about the compiler-dev
mailing list