RFR: 7903656: Variadic invoker class names are not mangled [v2]

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Feb 9 12:41:17 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.

Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:

  Make constant classes private again (was changed spurioiusly)
  Mangle constant class names

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

Changes:
  - all: https://git.openjdk.org/jextract/pull/203/files
  - new: https://git.openjdk.org/jextract/pull/203/files/5080d83c..51466274

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jextract&pr=203&range=01
 - incr: https://webrevs.openjdk.org/?repo=jextract&pr=203&range=00-01

  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 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