RFR: 8342697: Parameter arrays that are capped during annotation processing report incorrect length

Nizar Benalla nbenalla at openjdk.org
Wed Oct 23 13:41:43 UTC 2024


Can I please get a review for this change.
Passes tier1, currently running tier 2-3.

The regression test creates temporary files in `tmpdir` to check that the warning is emitted correctly.
I've also added the new warning to `example.not-yet.txt` as the example would require a very large file.

Here is the result of running `javap -c -p -v` on `ClassAnnotationWithLength_65536.class`  and `ClassAnnotationWithLength_65537.class` respectively. Results are the same before/after the change.


static int x;
    descriptor: I
    flags: (0x0008) ACC_STATIC
    RuntimeVisibleAnnotations:
      0: #14(#15=s#16,#17=I#18,#19=[J#20])
        CustomAnno(
          value="custom"
          count=42
          arr=[-1l]
        )



  static int x;
    descriptor: I
    flags: (0x0008) ACC_STATIC
    RuntimeVisibleAnnotations:
      0: #14(#15=s#16,#17=I#18,#19=[J#20,J#20])
        CustomAnno(
          value="custom"
          count=42
          arr=[-1l,-1l]
        )


TIA

-------------

Commit messages:
 - try to remove trailing whitespace
 - simplify BufferedWriter creation
 - JDK-8339190

Changes: https://git.openjdk.org/jdk/pull/21663/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21663&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342697
  Stats: 144 lines in 4 files changed: 143 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/21663.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21663/head:pull/21663

PR: https://git.openjdk.org/jdk/pull/21663


More information about the compiler-dev mailing list