Skip to content

Commit 62b999a

Browse files
Apply SuppressWarnings and use private constructors
1 parent 1a8d5ee commit 62b999a

13 files changed

Lines changed: 54 additions & 11 deletions

README.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,36 @@ WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers i
8080
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
8181
```
8282

83-
To remove these warnings, you need to either allow these methods through the command line arguments:
83+
To remove these warnings, you need to allow native access for the module that calls the restricted methods.
84+
85+
### Unnamed modules (classpath)
86+
87+
If you are running jdave on the classpath (no `module-info.java`), use:
8488

8589
```shell
8690
java --enable-native-access=ALL-UNNAMED ...
8791
```
8892

89-
Or enabling them in your JAR-file manifest:
93+
Or in your JAR-file manifest:
9094

91-
```shell
95+
```
9296
Enable-Native-Access: ALL-UNNAMED
9397
```
9498

99+
### Named modules (module path)
100+
101+
If your application uses JPMS modules, specify the jdave module name instead:
102+
103+
```shell
104+
java --enable-native-access=club.minnced.discord.jdave ...
105+
```
106+
107+
Or in your JAR-file manifest:
108+
109+
```
110+
Enable-Native-Access: club.minnced.discord.jdave
111+
```
112+
95113
## Why Java 25?
96114

97115
This library uses the [Foreign Function & Memory (FFM) API](https://docs.oracle.com/en/java/javase/22/core/foreign-function-and-memory-api.html) which has been stabilized in Java 22.

api/src/main/java/club/minnced/discord/jdave/ffi/LibDave.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public static short getMaxSupportedProtocolVersion() {
6262
}
6363
}
6464

65+
@SuppressWarnings("restricted")
6566
public static void setLogSinkCallback(@NonNull Arena arena, @NonNull LogSinkCallback logSinkCallback) {
6667
LogSinkCallbackMapper upcallMapper = new LogSinkCallbackMapper(logSinkCallback);
6768

api/src/main/java/club/minnced/discord/jdave/ffi/LibDaveDecryptorBinding.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
import java.lang.invoke.MethodHandle;
1010
import org.jspecify.annotations.NonNull;
1111

12+
@SuppressWarnings("restricted")
1213
public class LibDaveDecryptorBinding {
14+
private LibDaveDecryptorBinding() {}
1315

1416
static final MethodHandle daveDecryptorCreate;
1517
static final MethodHandle daveDecryptorDestroy;

api/src/main/java/club/minnced/discord/jdave/ffi/LibDaveEncryptorBinding.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
import java.lang.invoke.MethodHandle;
99
import org.jspecify.annotations.NonNull;
1010

11+
@SuppressWarnings("restricted")
1112
public class LibDaveEncryptorBinding {
13+
private LibDaveEncryptorBinding() {}
14+
1215
static final MethodHandle daveEncryptorCreate;
1316
static final MethodHandle daveEncryptorDestroy;
1417
static final MethodHandle daveEncryptorSetKeyRatchet;

api/src/main/java/club/minnced/discord/jdave/ffi/LibDaveKeyRatchetBinding.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import org.jspecify.annotations.NonNull;
99

1010
public class LibDaveKeyRatchetBinding {
11+
private LibDaveKeyRatchetBinding() {}
12+
1113
private static final MethodHandle destroyKeyRatchet;
1214

1315
static {

api/src/main/java/club/minnced/discord/jdave/ffi/LibDaveLookup.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import java.lang.foreign.SymbolLookup;
88
import java.lang.invoke.MethodHandle;
99

10+
@SuppressWarnings("restricted")
1011
public class LibDaveLookup {
12+
private LibDaveLookup() {}
13+
1114
static final Linker LINKER = Linker.nativeLinker();
1215
static final SymbolLookup SYMBOL_LOOKUP;
1316
public static final MemoryLayout C_SIZE;

api/src/main/java/club/minnced/discord/jdave/ffi/LibDaveSessionBinding.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
import java.util.List;
1212
import org.jspecify.annotations.NonNull;
1313

14+
@SuppressWarnings("restricted")
1415
public class LibDaveSessionBinding {
16+
private LibDaveSessionBinding() {}
17+
1518
static final MethodHandle daveSessionCreate;
1619
static final MethodHandle daveSessionDestroy;
1720
static final MethodHandle daveSessionInit;

api/src/main/java/club/minnced/discord/jdave/ffi/NativeUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import org.jspecify.annotations.Nullable;
88

99
public class NativeUtils {
10+
private NativeUtils() {}
11+
1012
@NonNull
13+
@SuppressWarnings("restricted")
1114
public static String asJavaString(@NonNull MemorySegment nullTerminatedString) {
1215
return nullTerminatedString.reinterpret(1024 * 64).getString(0);
1316
}

api/src/main/java/club/minnced/discord/jdave/interop/JDaveSessionFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import org.jspecify.annotations.NonNull;
77

88
public class JDaveSessionFactory implements DaveSessionFactory {
9+
public JDaveSessionFactory() {}
10+
911
@NonNull
1012
@Override
1113
public DaveSession createDaveSession(@NonNull DaveProtocolCallbacks callbacks, long userId, long channelId) {

api/src/main/java/club/minnced/discord/jdave/utils/DaveLogger.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.slf4j.event.Level;
1010

1111
public class DaveLogger {
12+
private DaveLogger() {}
13+
1214
@SuppressWarnings("LoggerInitializedWithForeignClass")
1315
public static final Logger log = LoggerFactory.getLogger(LibDave.class);
1416

0 commit comments

Comments
 (0)