< prev index next >
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java
Print this page
rev 59971 : [mq]: 8248641
@@ -152,11 +152,17 @@
@DefinedBy(Api.COMPILER_TREE)
public JCTree visitCase(CaseTree node, P p) {
JCCase t = (JCCase) node;
List<JCExpression> pats = copy(t.pats, p);
List<JCStatement> stats = copy(t.stats, p);
- JCTree body = copy(t.body, p);
+ JCTree body;
+ if (node.getCaseKind() == CaseTree.CaseKind.RULE) {
+ body = t.body instanceof JCExpression && t.stats.head.hasTag(Tag.YIELD)
+ ? ((JCYield) t.stats.head).value : t.stats.head;
+ } else {
+ body = null;
+ }
return M.at(t.pos).Case(t.caseKind, pats, stats, body);
}
@DefinedBy(Api.COMPILER_TREE)
public JCTree visitCatch(CatchTree node, P p) {
< prev index next >