< prev index next >

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

Print this page
rev 55127 : 8223351: [lworld] Primary mirror and nullable mirror for inline type
Reviewed-by: tbd

*** 91,101 **** String name = str.substring(begc, endc).replace('/', '.'); try { Class<?> clz = (loader == null) ? Class.forName(name, false, null) : loader.loadClass(name); ! return c == 'Q' ? clz.asValueType() : clz.asBoxType(); } catch (ClassNotFoundException ex) { throw new TypeNotPresentException(name, ex); } } else if (c == '[') { Class<?> t = parseSig(str, i, end, loader); --- 91,101 ---- String name = str.substring(begc, endc).replace('/', '.'); try { Class<?> clz = (loader == null) ? Class.forName(name, false, null) : loader.loadClass(name); ! return c == 'Q' ? clz.asPrimaryType() : clz.asNullableType(); } catch (ClassNotFoundException ex) { throw new TypeNotPresentException(name, ex); } } else if (c == '[') { Class<?> t = parseSig(str, i, end, loader);
*** 156,169 **** sb.append(c); } else if (t == Object.class) { sb.append("Ljava/lang/Object;"); } else { boolean lsemi = (!t.isArray()); ! if (t == t.asValueType()) c = 'Q'; if (lsemi) sb.append(c); ! sb.append(t.getName().replace('.', '/')); if (lsemi) sb.append(';'); } } } --- 156,170 ---- sb.append(c); } else if (t == Object.class) { sb.append("Ljava/lang/Object;"); } else { boolean lsemi = (!t.isArray()); ! if (!t.isNullableType()) c = 'Q'; + String n = t.isInlineClass() ? t.asPrimaryType().getName() : t.getName(); if (lsemi) sb.append(c); ! sb.append(n.replace('.', '/')); if (lsemi) sb.append(';'); } } }
< prev index next >