--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java Tue Aug 28 09:01:54 2018 +0200
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java Wed Aug 29 09:36:17 2018 +0200
@@ -140,15 +140,17 @@
@DefinedBy(Api.COMPILER_TREE)
public JCTree visitBreak(BreakTree node, P p) {
JCBreak t = (JCBreak) node;
- return M.at(t.pos).Break(t.label);
+ JCExpression value = copy(t.value, p);
+ return M.at(t.pos).Break(value);
}
@DefinedBy(Api.COMPILER_TREE)
public JCTree visitCase(CaseTree node, P p) {
JCCase t = (JCCase) node;
- JCExpression pat = copy(t.pat, p);
+ List<JCExpression> pats = copy(t.pats, p);
List<JCStatement> stats = copy(t.stats, p);
- return M.at(t.pos).Case(pat, stats);
+ JCTree body = copy(t.body, p);
+ return M.at(t.pos).Case(t.caseKind, pats, stats, body);
}
@DefinedBy(Api.COMPILER_TREE)
@@ -371,6 +373,15 @@
}
@DefinedBy(Api.COMPILER_TREE)
+ @SuppressWarnings("removal")
+ public JCTree visitSwitchExpression(SwitchExpressionTree node, P p) {
+ JCSwitchExpression t = (JCSwitchExpression) node;
+ JCExpression selector = copy(t.selector, p);
+ List<JCCase> cases = copy(t.cases, p);
+ return M.at(t.pos).SwitchExpression(selector, cases);
+ }
+
+ @DefinedBy(Api.COMPILER_TREE)
public JCTree visitSynchronized(SynchronizedTree node, P p) {
JCSynchronized t = (JCSynchronized) node;
JCExpression lock = copy(t.lock, p);
@@ -559,7 +570,7 @@
switch (tree.getTag()) {
case LETEXPR: {
LetExpr t = (LetExpr) node;
- List<JCVariableDecl> defs = copy(t.defs, p);
+ List<JCStatement> defs = copy(t.defs, p);
JCExpression expr = copy(t.expr, p);
return M.at(t.pos).LetExpr(defs, expr);
}