@@ -89,69 +89,45 @@ final class ByteArrayTests {
8989 JExtractGenerationMode . ffm,
9090 /* expected Java chunks */
9191 [
92- // """
93- // /**
94- // * {@snippet lang=c :
95- // * void swiftjava_SwiftModule_returnArray(void (*_result_initialize)(const void *, ptrdiff_t))
96- // * }
97- // */
98- // private static class swiftjava_SwiftModule_returnArray {
99- // private static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
100- // /* _result_initialize: */SwiftValueLayout.SWIFT_POINTER
101- // );
102- // private static final MemorySegment ADDR =
103- // SwiftModule.findOrThrow("swiftjava_SwiftModule_returnArray");
104- // private static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
105- // public static void call(java.lang.foreign.MemorySegment _result_initialize) {
106- // try {
107- // if (CallTraces.TRACE_DOWNCALLS) {
108- // CallTraces.traceDowncall(_result_initialize);
109- // }
110- // HANDLE.invokeExact(_result_initialize);
111- // } catch (Throwable ex$) {
112- // throw new AssertionError("should not reach here", ex$);
113- // }
114- // }
115- // }
116- // """,
117- // """
118- // /**
119- // * {snippet lang=c :
120- // * void (*)(const void *, ptrdiff_t)
121- // * }
122- // */
123- // private static class $_result_initialize {
124- // final static class Function {
125- // byte[] result;
126- // void apply(java.lang.foreign.MemorySegment _0, long _1) {
127- // this.result = _0.reinterpret(_1).toArray(ValueLayout.JAVA_BYTE);
128- // }
129- // }
130- // private static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
131- // /* _0: */SwiftValueLayout.SWIFT_POINTER,
132- // /* _1: */SwiftValueLayout.SWIFT_INT
133- // );
134- // private static final MethodHandle HANDLE = SwiftRuntime.upcallHandle(Function.class, "apply", DESC);
135- // private static MemorySegment toUpcallStub(Function fi, Arena arena) {
136- // return Linker.nativeLinker().upcallStub(HANDLE.bindTo(fi), DESC, arena);
137- // }
138- // }
139- // """,
92+ """
93+ /**
94+ * {snippet lang=c :
95+ * void (void *, size_t)
96+ * }
97+ */
98+ private static class $_result_initialize {
99+ public final static class Function {
100+ byte[] result = null;
101+ void apply(java.lang.foreign.MemorySegment _0, long _1) {
102+ this.result = _0.reinterpret(_1).toArray(ValueLayout.JAVA_BYTE);
103+ }
104+ }
105+ private static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
106+ /* _0: */SwiftValueLayout.SWIFT_POINTER,
107+ /* _1: */SwiftValueLayout.SWIFT_INT
108+ );
109+ private static final MethodHandle HANDLE = SwiftRuntime.upcallHandle(Function.class, " apply " , DESC);
110+ private static MemorySegment toUpcallStub(Function fi, Arena arena) {
111+ return Linker.nativeLinker().upcallStub(HANDLE.bindTo(fi), DESC, arena);
112+ }
113+ }
114+ """ ,
140115 """
141116 /**
142117 * Downcall to Swift:
143- * {@snippet lang = swift:
118+ * {@snippet lang= swift :
144119 * public func returnArray() -> [UInt8]
145- *}
120+ * }
146121 */
122+ @Unsigned
147123 public static byte[] returnArray() {
148- try (var arena$ = Arena.ofAuto ()) {
124+ try(var arena$ = Arena.ofConfined ()) {
149125 var _result_initialize = new swiftjava_SwiftModule_returnArray.$_result_initialize.Function();
150126 swiftjava_SwiftModule_returnArray.call(swiftjava_SwiftModule_returnArray.$_result_initialize.toUpcallStub(_result_initialize, arena$));
151127 return _result_initialize.result;
152128 }
153129 }
154- """
130+ """ ,
155131 ] ,
156132 /* expected Swift chunks */
157133 [
0 commit comments