src/java.base/share/classes/sun/invoke/util/Wrapper.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File jdk Cdiff src/java.base/share/classes/sun/invoke/util/Wrapper.java

src/java.base/share/classes/sun/invoke/util/Wrapper.java

Print this page
rev 10755 : 8060483: NPE with explicitCastArguments unboxing null
Reviewed-by: ?

*** 24,46 **** */ package sun.invoke.util; public enum Wrapper { ! BOOLEAN(Boolean.class, boolean.class, 'Z', (Boolean)false, new boolean[0], Format.unsigned(1)), // These must be in the order defined for widening primitive conversions in JLS 5.1.2 ! BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, new byte[0], Format.signed(8)), ! SHORT(Short.class, short.class, 'S', (Short)(short)0, new short[0], Format.signed(16)), ! CHAR(Character.class, char.class, 'C', (Character)(char)0, new char[0], Format.unsigned(16)), ! INT(Integer.class, int.class, 'I', (Integer)/*(int)*/0, new int[0], Format.signed(32)), ! LONG(Long.class, long.class, 'J', (Long)(long)0, new long[0], Format.signed(64)), ! FLOAT(Float.class, float.class, 'F', (Float)(float)0, new float[0], Format.floating(32)), ! DOUBLE(Double.class, double.class, 'D', (Double)(double)0, new double[0], Format.floating(64)), ! //NULL(Null.class, null.class, 'N', null, null, Format.other(1)), ! OBJECT(Object.class, Object.class, 'L', null, new Object[0], Format.other(1)), // VOID must be the last type, since it is "assignable" from any other type: ! VOID(Void.class, void.class, 'V', null, null, Format.other(0)), ; private final Class<?> wrapperType; private final Class<?> primitiveType; private final char basicTypeChar; --- 24,46 ---- */ package sun.invoke.util; public enum Wrapper { ! // wrapperType primitiveType char zero emptyArray format ! BOOLEAN( Boolean.class, boolean.class, 'Z', (Boolean)false, new boolean[0], Format.unsigned( 1)), // These must be in the order defined for widening primitive conversions in JLS 5.1.2 ! BYTE ( Byte.class, byte.class, 'B', (Byte)(byte)0, new byte[0], Format.signed( 8)), ! SHORT ( Short.class, short.class, 'S', (Short)(short)0, new short[0], Format.signed( 16)), ! CHAR (Character.class, char.class, 'C', (Character)(char)0, new char[0], Format.unsigned(16)), ! INT ( Integer.class, int.class, 'I', (Integer)/*(int)*/0, new int[0], Format.signed( 32)), ! LONG ( Long.class, long.class, 'J', (Long)(long)0, new long[0], Format.signed( 64)), ! FLOAT ( Float.class, float.class, 'F', (Float)(float)0, new float[0], Format.floating(32)), ! DOUBLE ( Double.class, double.class, 'D', (Double)(double)0, new double[0], Format.floating(64)), ! OBJECT ( Object.class, Object.class, 'L', null, new Object[0], Format.other( 1)), // VOID must be the last type, since it is "assignable" from any other type: ! VOID ( Void.class, void.class, 'V', null, null, Format.other( 0)), ; private final Class<?> wrapperType; private final Class<?> primitiveType; private final char basicTypeChar;
src/java.base/share/classes/sun/invoke/util/Wrapper.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File