Integrated: 7903656: Variadic invoker class names are not mangled

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Feb 9 14:27:10 UTC 2024


On Fri, 9 Feb 2024 08:51:39 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 41b3ab6c
Author:    Maurizio Cimadamore <mcimadamore at openjdk.org>
URL:       https://git.openjdk.org/jextract/commit/41b3ab6c0a9ec3dd49ef870ead346573c1408ad7
Stats:     69 lines in 4 files changed: 55 ins; 3 del; 11 mod

7903656: Variadic invoker class names are not mangled

Reviewed-by: jvernee

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

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


More information about the jextract-dev mailing list