[foreign-abi] RFR: 8253430: Improve the LibraryLookup API

Athijegannathan Sundararajan sundar at openjdk.java.net
Mon Sep 21 14:02:54 UTC 2020


On Mon, 21 Sep 2020 13:52:29 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> This patch implements a couple of suggestion which were made a couple of weeks ago by @BlueGoliath - here:
> 
> https://mail.openjdk.java.net/pipermail/panama-dev/2020-July/010140.html
> 
> Two ideas here:
> * Change the signature of `LibraryLookup::ofPath` to actually take a `Path` (rathar than a `String`)
> * Tweak `LibraryLookup::lookup` to return `Optional` (rather than throw)
> 
> Both suggestions seem to change the API for the better. The second one is probably more controversial: on the one hand
> it removes the need for having exception handling logic and makes it for more composable logic. On the other hand
> clients have to manually call `get` on the lookup result. But overall seems a win.

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/LibraryLookup.java line 116:

> 114:     static LibraryLookup ofPath(Path path) {
> 115:         Objects.requireNonNull(path);
> 116:         String absolutePath = path.toAbsolutePath().toString();

Path.toAbsolutePath itself is a secure operation (could potentially throw SecurityException).  Should insist on
absolute Path (that way it is up to the client to manage absolute Path object)?

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

PR: https://git.openjdk.java.net/panama-foreign/pull/348


More information about the panama-dev mailing list