On Mon, 23 Nov 2020 15:11:49 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

> Both the Foreign Memory Access and the Foreign Linker APIs leave something to 
> be desired when it comes to handling NPEs - first, most of the API javadoc is 
> oblivious to NPEs being thrown. Secondly, not all API method implementations 
> add expicit NPE checks - with the result of NPE often being thrown very deep 
> in the call chain - if at all. Third, test for API coverage of nulls is 
> ad-hoc.
> 
> This patch rectifies all these issues. To increase coverage for null injected 
> into APIs, this patch introduces a new framework for testing an API in bulk, 
> so that all methods are reflectively called with some values replaced with 
> nulls, so that all combinations are tried.
> 
> I've also added, as part of this patch, a test to cover the statics in 
> MemoryAccess which were not covered throughly.

Already looked at this in panama-foreign, but found one minor issue.

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/FunctionDescriptor.java
 line 152:

> 150:      * @return the new function descriptor.
> 151:      * @throws NullPointerException if either {@code addedLayouts == 
> null}, or any of the
> 152:      * layouts in {@code addedLayouts} is null.@throws 
> NullPointerException if any of the new argument layouts is null.

Spurious `@throws` tag here

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

Marked as reviewed by jvernee (Committer).

PR: https://git.openjdk.java.net/jdk/pull/1388

Reply via email to