1 package jdk.incubator.code.internal;
2
3 import com.sun.tools.javac.tree.JCTree;
4 import com.sun.tools.javac.tree.TreeScanner;
5
6 public class TreeScannerPrev extends TreeScanner {
7
8 private JCTree currentNode;
9 private JCTree prevNode;
10
11 @Override
12 public void scan(JCTree tree) {
13 JCTree prevPrevNode = prevNode;
14 prevNode = currentNode;
15 currentNode = tree;
16 try {
17 super.scan(tree);
18 } finally {
19 currentNode = prevNode;
20 prevNode = prevPrevNode;
21 }
22 }
23
24 public void scan(JCTree tree, JCTree prevNode) {
25 this.prevNode = null;
26 currentNode = prevNode;
27 scan(tree);
28 }
29
30 JCTree currentNode() {
31 return currentNode;
32 }
33
34 JCTree prevNode() {
35 return prevNode;
36 }
37 }