4183N/A * @ignore This test requires a special compilation environment to access sun.inovke.util. Run by hand.
4183N/A// @run junit/othervm -DValueConversionsTest.MAX_ARITY=255 -DValueConversionsTest.EXHAUSTIVE=true test.sun.invoke.util.ValueConversionsTest
4183N/A private static final int MAX_ARITY = Integer.getInteger(CLASS.getSimpleName()+".MAX_ARITY", 40);
4183N/A private static final int START_ARITY = Integer.getInteger(CLASS.getSimpleName()+".START_ARITY", 0);
4183N/A private static final boolean EXHAUSTIVE = Boolean.getBoolean(CLASS.getSimpleName()+".EXHAUSTIVE");
4183N/A if (expectThrow) {
4183N/A assertEquals("(doCast,expectThrow,dst,src,n,box)="+Arrays.asList(doCast,expectThrow,dst,src,n,box),
4183N/A if (expectThrow) return;
4183N/A System.out.println("Unexpected throw for (doCast,expectThrow,dst,src)="+Arrays.asList(doCast,expectThrow,dst,src));
4183N/A Class<?>[] types = { Object.class, Serializable.class, String.class, Number.class, Integer.class };
5459N/A default: throw new AssertionError();
5459N/A assertEquals("(src,dst,n,testValue)="+Arrays.asList(src,dst,"0x"+Long.toHexString(n),testValue),
5459N/A if (testSingleCase) break;
5459N/A // Assuming that x is mostly zeroes, make those zeroes follow bit #62 (just below the sign).
5459N/A // For better coverage of the neighborhood of zero, an internal sign bit is xored downward also.
4183N/A testTypedVarargsArray(int[].class);
4183N/A testTypedVarargsArray(long[].class);
4183N/A testTypedVarargsArray(byte[].class);
4183N/A testTypedVarargsArray(boolean[].class);
4183N/A testTypedVarargsArray(short[].class);
4183N/A testTypedVarargsArray(char[].class);
4183N/A testTypedVarargsArray(float[].class);
4183N/A testTypedVarargsArray(double[].class);