For Coin 8: preservation of parameter names in class files

Joe Darcy joe.darcy at oracle.com
Mon Dec 20 07:56:25 PST 2010


Hello Florian.

Hold that thought, coin: the flip side, won't get underway for a while, 
but the ability to retrieve parameter names from class files is a 
long-standing request from various parties so I'm sure it will be 
considered again for JDK 8.

-Joe

Florian Weimer wrote:
> IDEs need parameter names for code templates (stubs for inherited
> abstract methods, delegates, etc.) and completion of invocations.
> Currently, debug information is used if available, or information
> parsed from Javadoc.  There are useful constructs which are currently
> difficult to implement due to the lack of parameter names.  For
> instance, there was a lightweight SQL mapping proposal in the JDBC
> update for JDK 6 which had to be killed because it turned out to be
> close to unimplementable due to lack of method parameter names at run
> time.
>
> The implementation would likely use attributes and not change the
> class file format.  java.lang.reflect.Constructor and
> java.lang.reflect.Method would get a new method, getParameterNames(),
> which returns a fresh array array of parameter names (or an
> unmodifiable list, if you want sharing).  I'm not sure if the
> implementation should try to extract parameter names from debugging
> information if available.  If no parameter names are available, the
> new methods should throw IllegalStateException, in the spirit of the
> most of the java.lang.reflect API, which prefers exceptions over null
> return values.
>
> (I think this is a language change because it updates classes in
> java.lang.reflect.)
>
>   




More information about the coin-dev mailing list