1 19 package org.netbeans.api.java.source.support; 20 21 import com.sun.source.tree.Tree; 22 import com.sun.source.util.TreePathScanner; 23 24 28 public class CancellableTreePathScanner<R,P> extends TreePathScanner<R,P> { 29 30 private boolean canceled; 31 32 33 public CancellableTreePathScanner() { 34 } 35 36 protected synchronized boolean isCanceled() { 37 return canceled; 38 } 39 40 public synchronized void cancel() { 41 canceled = true; 42 } 43 44 46 public R scan(Tree tree, P p) { 47 if (isCanceled()) 48 return null; 49 50 return super.scan(tree, p); 51 } 52 53 55 public R scan(Iterable <? extends Tree> trees, P p) { 56 if (isCanceled()) 57 return null; 58 59 return super.scan(trees, p); 60 } 61 62 } 63 | Popular Tags |