21 * questions. 22 */ 23 24 package jdk.vm.ci.hotspot.test; 25 26 import static jdk.vm.ci.hotspot.test.TestHelper.CONSTANT_REFLECTION_PROVIDER; 27 import static jdk.vm.ci.hotspot.test.TestHelper.DUMMY_CLASS_INSTANCE; 28 29 import java.util.LinkedList; 30 31 import jdk.vm.ci.meta.JavaConstant; 32 import org.testng.annotations.DataProvider; 33 34 public class UnboxPrimitiveDataProvider { 35 36 @DataProvider(name = "unboxPrimitiveDataProvider") 37 public static Object[][] unboxPrimitiveDataProvider() { 38 LinkedList<Object[]> cfgSet = new LinkedList<>(); 39 // Testing boolean 40 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 41 (Boolean) true), JavaConstant.forBoolean(true)}); 42 cfgSet.add(new Object[]{JavaConstant.forBoolean(true), null}); 43 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject((Boolean) false), 44 JavaConstant.forBoolean(false)}); 45 cfgSet.add(new Object[]{JavaConstant.forBoolean(false), null}); 46 for (byte number : new byte[]{-128, 0, 1, 127}) { 47 // Testing boxed primitives 48 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Byte.valueOf(number)), 49 JavaConstant.forByte(number)}); 50 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Short.valueOf(number)), 51 JavaConstant.forShort(number)}); 52 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Integer.valueOf(number)), 53 JavaConstant.forInt(number)}); 54 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Long.valueOf(number)), 55 JavaConstant.forLong(number)}); 56 if (number >= 0) { 57 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 58 Character.valueOf((char) number)), 59 JavaConstant.forChar((char) number)}); 60 } 61 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 62 Float.valueOf(number * 1.1f)), 63 JavaConstant.forFloat(number * 1.1f)}); | 21 * questions. 22 */ 23 24 package jdk.vm.ci.hotspot.test; 25 26 import static jdk.vm.ci.hotspot.test.TestHelper.CONSTANT_REFLECTION_PROVIDER; 27 import static jdk.vm.ci.hotspot.test.TestHelper.DUMMY_CLASS_INSTANCE; 28 29 import java.util.LinkedList; 30 31 import jdk.vm.ci.meta.JavaConstant; 32 import org.testng.annotations.DataProvider; 33 34 public class UnboxPrimitiveDataProvider { 35 36 @DataProvider(name = "unboxPrimitiveDataProvider") 37 public static Object[][] unboxPrimitiveDataProvider() { 38 LinkedList<Object[]> cfgSet = new LinkedList<>(); 39 // Testing boolean 40 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 41 true), JavaConstant.forBoolean(true)}); 42 cfgSet.add(new Object[]{JavaConstant.forBoolean(true), null}); 43 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(false), 44 JavaConstant.forBoolean(false)}); 45 cfgSet.add(new Object[]{JavaConstant.forBoolean(false), null}); 46 for (byte number : new byte[]{-128, 0, 1, 127}) { 47 // Testing boxed primitives 48 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Byte.valueOf(number)), 49 JavaConstant.forByte(number)}); 50 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Short.valueOf(number)), 51 JavaConstant.forShort(number)}); 52 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Integer.valueOf(number)), 53 JavaConstant.forInt(number)}); 54 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject(Long.valueOf(number)), 55 JavaConstant.forLong(number)}); 56 if (number >= 0) { 57 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 58 Character.valueOf((char) number)), 59 JavaConstant.forChar((char) number)}); 60 } 61 cfgSet.add(new Object[]{CONSTANT_REFLECTION_PROVIDER.forObject( 62 Float.valueOf(number * 1.1f)), 63 JavaConstant.forFloat(number * 1.1f)}); |