src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
changeset 57725 ffc34eaf7b49
parent 54568 b2ed96c35687
child 58109 ee07de0d2c16
child 58713 ad69fd32778e
--- 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