On 9/21/2018 4:07 PM, Kevin Bourrillion wrote:
"The method reference form can use most kinds of method references after
the = sign: static and unbound method references, bound method
references (if the receiver *variable* is in scope for the method
declaration)"

Can we still bind to any expression?

   private String a(String b, int c)
       throws SomeCheckedException = *d.e()*::f;

No limitation is intended on the receiver, as long as the method reference expression would be legal if it appeared in the traditional body of method `a`. (Details of this translation remain to be worked out.)

Scope isn't the right concept to appeal to; for example, an instance variable is in scope throughout a static method, but that doesn't mean the variable can be used in the body of the static method. I'll remove the troublesome clause. Array creation references should also be mentioned alongside constructor references.

... and would this be valid whether it is `e()` or `f()` (or both) that
throws SomeCheckedException?

I expect so. Do you have a situation that suggests otherwise?

Alex

Reply via email to