--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Nov 08 16:23:55 2018 +0100
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Nov 08 10:36:06 2018 -0500
@@ -378,7 +378,24 @@
List<JCExpression> args,
JCClassDecl def)
{
- JCNewClass tree = new JCNewClass(encl, typeargs, clazz, args, def);
+ return SpeculativeNewClass(encl, typeargs, clazz, args, def, false);
+ }
+
+ public JCNewClass SpeculativeNewClass(JCExpression encl,
+ List<JCExpression> typeargs,
+ JCExpression clazz,
+ List<JCExpression> args,
+ JCClassDecl def,
+ boolean classDefRemoved)
+ {
+ JCNewClass tree = classDefRemoved ?
+ new JCNewClass(encl, typeargs, clazz, args, def) {
+ @Override
+ public boolean classDeclRemoved() {
+ return true;
+ }
+ } :
+ new JCNewClass(encl, typeargs, clazz, args, def);
tree.pos = pos;
return tree;
}