-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b08
javac uses the source position of record components to remove a particular record component during compilation. This could happen several times if annotation processors are present. This is done in part to provide better error messages for silly record definitions like:
record R(int i, float i) {} // two record components with the same name
but this is brittle and can backfire if the record is read from the class file during compilation as the source positions are not stored in the class file. SeeJDK-8332297 for some context
record R(int i, float i) {} // two record components with the same name
but this is brittle and can backfire if the record is read from the class file during compilation as the source positions are not stored in the class file. See
- links to
-
Commit(master) openjdk/jdk/245c0866
-
Review(master) openjdk/jdk/20148