--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java Tue Aug 13 10:27:33 2019 +0200
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java Tue Aug 13 10:27:34 2019 +0200
@@ -808,8 +808,11 @@
checkType(var, Double.class, v);
break;
case CLASS:
- Assert.check(var.type.tsym == syms.stringType.tsym);
- checkType(var, String.class, v);
+ if (var.type.tsym == syms.stringType.tsym) {
+ checkType(var, String.class, v);
+ } else {
+ throw badClassFile("bad.constant.value.type", var.type);
+ }
break;
default:
// ignore ConstantValue attribute if type is not primitive or String