1 package jdk.incubator.code.internal;
2
3 import com.sun.tools.javac.tree.JCTree;
4 import com.sun.tools.javac.tree.TreeTranslator;
5
6 public class TreeTranslatorPrev extends TreeTranslator {
7
8 private JCTree currentNode;
9 private JCTree prevNode;
10
11 @Override
12 public <T extends JCTree> T translate(T tree) {
13 JCTree prevPrevNode = prevNode;
14 prevNode = currentNode;
15 currentNode = tree;
16 try {
17 return super.translate(tree);
18 } finally {
19 currentNode = prevNode;
20 prevNode = prevPrevNode;
21 }
22 }
23
24 JCTree currentNode() {
25 return currentNode;
26 }
27
28 JCTree prevNode() {
29 return prevNode;
30 }
31 }