< prev index next >

test/jdk/java/foreign/TestNulls.java

Print this page

  6  * under the terms of the GNU General Public License version 2 only, as
  7  * published by the Free Software Foundation.
  8  *
  9  * This code is distributed in the hope that it will be useful, but WITHOUT
 10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12  * version 2 for more details (a copy is included in the LICENSE file that
 13  * accompanied this code).
 14  *
 15  * You should have received a copy of the GNU General Public License version
 16  * 2 along with this work; if not, write to the Free Software Foundation,
 17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  */
 23 
 24 /*
 25  * @test
 26  * @enablePreview
 27  * @requires jdk.foreign.linker != "UNSUPPORTED"
 28  * @modules java.base/jdk.internal.ref
 29  * @run testng/othervm
 30  *     --enable-native-access=ALL-UNNAMED
 31  *     TestNulls
 32  */
 33 
 34 import java.lang.foreign.*;
 35 
 36 import jdk.internal.ref.CleanerFactory;
 37 import org.testng.annotations.DataProvider;
 38 import org.testng.annotations.NoInjection;
 39 import org.testng.annotations.Test;
 40 
 41 import java.lang.constant.Constable;
 42 import java.lang.foreign.Arena;
 43 import java.lang.invoke.MethodHandle;
 44 import java.lang.invoke.MethodHandles;
 45 import java.lang.invoke.MethodType;
 46 import java.lang.invoke.VarHandle;
 47 import java.lang.ref.Cleaner;

127         addDefaultMapping(byte.class, (byte)0);
128         addDefaultMapping(short.class, (short)0);
129         addDefaultMapping(int.class, 0);
130         addDefaultMapping(float.class, 0f);
131         addDefaultMapping(long.class, 0L);
132         addDefaultMapping(double.class, 0d);
133         addDefaultMapping(boolean.class, true);
134         addDefaultMapping(ByteOrder.class, ByteOrder.nativeOrder());
135         addDefaultMapping(Thread.class, Thread.currentThread());
136         addDefaultMapping(Cleaner.class, CleanerFactory.cleaner());
137         addDefaultMapping(Buffer.class, ByteBuffer.wrap(new byte[10]));
138         addDefaultMapping(ByteBuffer.class, ByteBuffer.wrap(new byte[10]));
139         addDefaultMapping(Path.class, Path.of("nonExistent"));
140         addDefaultMapping(FileChannel.MapMode.class, FileChannel.MapMode.PRIVATE);
141         addDefaultMapping(UnaryOperator.class, UnaryOperator.identity());
142         addDefaultMapping(String.class, "Hello!");
143         addDefaultMapping(Constable.class, "Hello!");
144         addDefaultMapping(Class.class, String.class);
145         addDefaultMapping(Runnable.class, () -> {});
146         addDefaultMapping(Object.class, new Object());
147         addDefaultMapping(VarHandle.class, MethodHandles.memorySegmentViewVarHandle(JAVA_INT));
148         addDefaultMapping(MethodHandle.class, MethodHandles.identity(int.class));
149         addDefaultMapping(List.class, List.of());
150         addDefaultMapping(Charset.class, Charset.defaultCharset());
151         addDefaultMapping(Consumer.class, x -> {});
152         addDefaultMapping(MethodType.class, MethodType.methodType(void.class));
153         addDefaultMapping(MemoryLayout.class, ValueLayout.JAVA_INT);
154         addDefaultMapping(ValueLayout.class, ValueLayout.JAVA_INT);
155         addDefaultMapping(AddressLayout.class, ValueLayout.ADDRESS);
156         addDefaultMapping(ValueLayout.OfByte.class, ValueLayout.JAVA_BYTE);
157         addDefaultMapping(ValueLayout.OfBoolean.class, ValueLayout.JAVA_BOOLEAN);
158         addDefaultMapping(ValueLayout.OfChar.class, ValueLayout.JAVA_CHAR);
159         addDefaultMapping(ValueLayout.OfShort.class, ValueLayout.JAVA_SHORT);
160         addDefaultMapping(ValueLayout.OfInt.class, ValueLayout.JAVA_INT);
161         addDefaultMapping(ValueLayout.OfFloat.class, ValueLayout.JAVA_FLOAT);
162         addDefaultMapping(ValueLayout.OfLong.class, JAVA_LONG);
163         addDefaultMapping(ValueLayout.OfDouble.class, ValueLayout.JAVA_DOUBLE);
164         addDefaultMapping(PaddingLayout.class, MemoryLayout.paddingLayout(4));
165         addDefaultMapping(GroupLayout.class, MemoryLayout.structLayout(ValueLayout.JAVA_INT));
166         addDefaultMapping(StructLayout.class, MemoryLayout.structLayout(ValueLayout.JAVA_INT));
167         addDefaultMapping(UnionLayout.class, MemoryLayout.unionLayout(ValueLayout.JAVA_INT));

  6  * under the terms of the GNU General Public License version 2 only, as
  7  * published by the Free Software Foundation.
  8  *
  9  * This code is distributed in the hope that it will be useful, but WITHOUT
 10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12  * version 2 for more details (a copy is included in the LICENSE file that
 13  * accompanied this code).
 14  *
 15  * You should have received a copy of the GNU General Public License version
 16  * 2 along with this work; if not, write to the Free Software Foundation,
 17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  */
 23 
 24 /*
 25  * @test


 26  * @modules java.base/jdk.internal.ref
 27  * @run testng/othervm
 28  *     --enable-native-access=ALL-UNNAMED
 29  *     TestNulls
 30  */
 31 
 32 import java.lang.foreign.*;
 33 
 34 import jdk.internal.ref.CleanerFactory;
 35 import org.testng.annotations.DataProvider;
 36 import org.testng.annotations.NoInjection;
 37 import org.testng.annotations.Test;
 38 
 39 import java.lang.constant.Constable;
 40 import java.lang.foreign.Arena;
 41 import java.lang.invoke.MethodHandle;
 42 import java.lang.invoke.MethodHandles;
 43 import java.lang.invoke.MethodType;
 44 import java.lang.invoke.VarHandle;
 45 import java.lang.ref.Cleaner;

125         addDefaultMapping(byte.class, (byte)0);
126         addDefaultMapping(short.class, (short)0);
127         addDefaultMapping(int.class, 0);
128         addDefaultMapping(float.class, 0f);
129         addDefaultMapping(long.class, 0L);
130         addDefaultMapping(double.class, 0d);
131         addDefaultMapping(boolean.class, true);
132         addDefaultMapping(ByteOrder.class, ByteOrder.nativeOrder());
133         addDefaultMapping(Thread.class, Thread.currentThread());
134         addDefaultMapping(Cleaner.class, CleanerFactory.cleaner());
135         addDefaultMapping(Buffer.class, ByteBuffer.wrap(new byte[10]));
136         addDefaultMapping(ByteBuffer.class, ByteBuffer.wrap(new byte[10]));
137         addDefaultMapping(Path.class, Path.of("nonExistent"));
138         addDefaultMapping(FileChannel.MapMode.class, FileChannel.MapMode.PRIVATE);
139         addDefaultMapping(UnaryOperator.class, UnaryOperator.identity());
140         addDefaultMapping(String.class, "Hello!");
141         addDefaultMapping(Constable.class, "Hello!");
142         addDefaultMapping(Class.class, String.class);
143         addDefaultMapping(Runnable.class, () -> {});
144         addDefaultMapping(Object.class, new Object());
145         addDefaultMapping(VarHandle.class, JAVA_INT.varHandle());
146         addDefaultMapping(MethodHandle.class, MethodHandles.identity(int.class));
147         addDefaultMapping(List.class, List.of());
148         addDefaultMapping(Charset.class, Charset.defaultCharset());
149         addDefaultMapping(Consumer.class, x -> {});
150         addDefaultMapping(MethodType.class, MethodType.methodType(void.class));
151         addDefaultMapping(MemoryLayout.class, ValueLayout.JAVA_INT);
152         addDefaultMapping(ValueLayout.class, ValueLayout.JAVA_INT);
153         addDefaultMapping(AddressLayout.class, ValueLayout.ADDRESS);
154         addDefaultMapping(ValueLayout.OfByte.class, ValueLayout.JAVA_BYTE);
155         addDefaultMapping(ValueLayout.OfBoolean.class, ValueLayout.JAVA_BOOLEAN);
156         addDefaultMapping(ValueLayout.OfChar.class, ValueLayout.JAVA_CHAR);
157         addDefaultMapping(ValueLayout.OfShort.class, ValueLayout.JAVA_SHORT);
158         addDefaultMapping(ValueLayout.OfInt.class, ValueLayout.JAVA_INT);
159         addDefaultMapping(ValueLayout.OfFloat.class, ValueLayout.JAVA_FLOAT);
160         addDefaultMapping(ValueLayout.OfLong.class, JAVA_LONG);
161         addDefaultMapping(ValueLayout.OfDouble.class, ValueLayout.JAVA_DOUBLE);
162         addDefaultMapping(PaddingLayout.class, MemoryLayout.paddingLayout(4));
163         addDefaultMapping(GroupLayout.class, MemoryLayout.structLayout(ValueLayout.JAVA_INT));
164         addDefaultMapping(StructLayout.class, MemoryLayout.structLayout(ValueLayout.JAVA_INT));
165         addDefaultMapping(UnionLayout.class, MemoryLayout.unionLayout(ValueLayout.JAVA_INT));
< prev index next >