Skip to content

Commit 110cb97

Browse files
committed
Register java.nio.Bits fields for reflection
Register fields of `java.nio.Bits` that are reflectively accessed through `PlatformDependent0`'s static initializer Related to #50574
1 parent 232ebd2 commit 110cb97

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
2929
import io.quarkus.deployment.builditem.nativeimage.NativeImageSystemPropertyBuildItem;
3030
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
31+
import io.quarkus.deployment.builditem.nativeimage.ReflectiveFieldBuildItem;
3132
import io.quarkus.deployment.builditem.nativeimage.ReflectiveMethodBuildItem;
3233
import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
3334
import io.quarkus.deployment.builditem.nativeimage.UnsafeAccessedFieldBuildItem;
@@ -83,6 +84,7 @@ NativeImageConfigBuildItem build(
8384
NettyBuildTimeConfig config,
8485
BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
8586
BuildProducer<ReflectiveMethodBuildItem> reflectiveMethods,
87+
BuildProducer<ReflectiveFieldBuildItem> reflectiveFields,
8688
List<MinNettyAllocatorMaxOrderBuildItem> minMaxOrderBuildItems) {
8789

8890
reflectiveMethods.produce(
@@ -97,6 +99,13 @@ NativeImageConfigBuildItem build(
9799
new ReflectiveMethodBuildItem("Reflectively accessed through PlatformDependent0's static initializer",
98100
"java.nio.DirectByteBuffer", "<init>", new String[] { long.class.getName(), int.class.getName() }));
99101

102+
reflectiveFields.produce(
103+
new ReflectiveFieldBuildItem("Reflectively accessed through PlatformDependent0's static initializer",
104+
"java.nio.Bits", "UNALIGNED"));
105+
reflectiveFields.produce(
106+
new ReflectiveFieldBuildItem("Reflectively accessed through PlatformDependent0's static initializer",
107+
"java.nio.Bits", "MAX_MEMORY"));
108+
100109
reflectiveClass.produce(ReflectiveClassBuildItem.builder("io.netty.channel.socket.nio.NioSocketChannel")
101110
.build());
102111
reflectiveClass

0 commit comments

Comments
 (0)