changing a parameter name will never be a binary-incompatible change
Markus Keller
markus_keller at ch.ibm.com
Thu May 2 05:56:09 PDT 2013
Section 2.1 of "Method Parameter Reflection" says:
"1. Parameter names are not essential to the Java virtual machine. They
play no part
in linkage, so changing a parameter name will never be a
binary-incompatible
change."
Is the "will never be" really necessary? Is it absolutely impossible that
the JVM will at one point get a new instruction that will perform method
lookup by parameter name? Maybe not for the Java language, but to better
support other languages.
The "will never be" would make such an evolution illegal. I think it's
better to just say "[..], so changing a parameter name is a
binary-compatible change.". That's clear enough for now, but leaves the
door open for developments in a new version of the spec.
Markus
More information about the enhanced-metadata-spec-discuss
mailing list