RFR: 8308281: Java snippets in the FFM API need to be updated

Chen Liang liach at openjdk.org
Wed May 17 14:25:49 UTC 2023


On Wed, 17 May 2023 11:46:39 GMT, Per Minborg <pminborg at openjdk.org> wrote:

> As the API has improved over the recent releases, not all `{@snippet ..}` sections have been kept in sync.
> 
> This PR suggests all snippets used should be verified against real code that is placed in a new `snippet-files` folder and erroneous snippets are updated.
> 
> In this PR, it is suggested duplicating code in the `Snippets.java` class and in the JavaDocs. The benefit of this is that code is directly visible in the code and not only in the generated javadoc.
> 
> Another thing to think about is if there should be on single `Snippets.java` class or separate ones for each FFM class.

src/java.base/share/classes/java/lang/foreign/Arena.java line 168:

> 166:  *
> 167:  *      public MemorySegment allocate(long byteSize, long byteAlignment) {
> 168:  *            return slicingAllocator.allocate(byteSize, byteAlignment);

Shouldn't the indentation be 4 spaces?
Suggestion:

 *          return slicingAllocator.allocate(byteSize, byteAlignment);

src/java.base/share/classes/java/lang/foreign/Arena.java line 172:

> 170:  *
> 171:  *      public MemorySegment.Scope scope() {
> 172:  *            return arena.scope();

Suggestion:

 *          return arena.scope();

src/java.base/share/classes/java/lang/foreign/Arena.java line 176:

> 174:  *
> 175:  *      public void close() {
> 176:  *            arena.close();

Suggestion:

 *          arena.close();

src/java.base/share/classes/java/lang/foreign/Linker.java line 96:

> 94:  * try (Arena arena = Arena.ofConfined()) {
> 95:  *     MemorySegment str = arena.allocateUtf8String("Hello");
> 96:  *     long len          = (long) strlen.invoke(str);  // 5

Suggestion:

 *     long len          = (long) strlen.invokeExact(str);  // 5

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14030#discussion_r1196588335
PR Review Comment: https://git.openjdk.org/jdk/pull/14030#discussion_r1196588479
PR Review Comment: https://git.openjdk.org/jdk/pull/14030#discussion_r1196588748
PR Review Comment: https://git.openjdk.org/jdk/pull/14030#discussion_r1196593902


More information about the core-libs-dev mailing list