< 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 >