Review request: update javac to properly output mandated parameters in MethodParameters attributes (original) (raw)
Alex Buckley alex.buckley at oracle.com
Thu Feb 7 11:32:15 PST 2013
- Previous message: Review request: update javac to properly output mandated parameters in MethodParameters attributes
- Next message: Review request: update javac to properly output mandated parameters in MethodParameters attributes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
On 2/7/2013 10:45 AM, Maurizio Cimadamore wrote:
Uhm - the definition of ACCMANADATE seems to imply that there's a spec demanding a given extra parameter. But that's not the case for, i.e. extra constructor arguments generated in this case:
class Foo { void m() { final Object o = null; new Object() { }; } } the constructor of the anonymous inner class will accept and extra Object argument. Is that mandated by the spec?
No. I don't know why the anonymous class's ctor would need a parameter for this code.
class Outer { class Inner { } void m(Outer outer) { outer.new Inner() { }; } }
Extra argument here (enclosing this).
Yes, the argument is implicitly declared in JLS 8.8.9.
Alex
- Previous message: Review request: update javac to properly output mandated parameters in MethodParameters attributes
- Next message: Review request: update javac to properly output mandated parameters in MethodParameters attributes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]