diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java index f13900f1f55..7189dc5fe33 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java @@ -2731,7 +2731,10 @@ public class ClassReader { } readClass(c); if (previewClassFile) { - if ((c.flags_field & SYNTHETIC) != 0 && c.isSubClass(syms.objectType.tsym, types)) { + if ((c.flags_field & SYNTHETIC) != 0 && + c.owner.kind == PCK && + (c.flags_field & AUXILIARY) == 0 && + (c.flags_field & FINAL) != 0) { c.flags_field |= UNNAMED_CLASS; } }