RFR: 7903656: Variadic invoker class names are not mangled

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Feb 9 08:56:23 UTC 2024


This PR fixes an issue with the variadic invoker nested class names that are not mangled correctly. This might create issues for case-insensitive file systems.

While working on this, I noticed also that the current test we have for variadic classes (TestPrintf) was not executing as expected, because of a typo in a data provider. After fixing the test code, the test started to fail.

One of the test cases was expecting an `IllegalArgumentException` when passing an int value to a double variadic parameter. But, as we use a method handle argument spreader, no exception is throw, and the value is instead silently converted. I tweaked the test a bit, to create a situation where no conversion is possible, and I noticed that the call failed with `ClassCastException`, but that exception is not handled by the variadic invoker code, so I fixed that as well.

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

Commit messages:
 - Initial push
 - Initial push

Changes: https://git.openjdk.org/jextract/pull/203/files
 Webrev: https://webrevs.openjdk.org/?repo=jextract&pr=203&range=00
  Issue: https://bugs.openjdk.org/browse/CODETOOLS-7903656
  Stats: 70 lines in 4 files changed: 55 ins; 3 del; 12 mod
  Patch: https://git.openjdk.org/jextract/pull/203.diff
  Fetch: git fetch https://git.openjdk.org/jextract.git pull/203/head:pull/203

PR: https://git.openjdk.org/jextract/pull/203


More information about the jextract-dev mailing list