//Tested with BCEL-5.1 //http://jakarta.apache.org/builds/jakarta-bcel/release/v5.1/ package com.puppycrawl.tools.checkstyle.bcel; import org.apache.bcel.classfile.DescendingVisitor; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Visitor; /** * Walks a JavaClass parse tree. * @author Rick Giles * @version 15-Jun-2003 */ public final class JavaClassWalker { /** visitor to be accepted during a traversal */ private Visitor mVisitor = new EmptyClassFileVisitor(); /** * Sets a visitor to be accepted during a traversal. * @param aVisitor the visitor to be accepted during a traversal. */ public void setVisitor(Visitor aVisitor) { mVisitor = aVisitor; } /** * Traverses a JavaClass parse tree and accepts all registered * visitors. * @param aJavaClass the root of the tree. */ public void walk(JavaClass aJavaClass) { DescendingVisitor visitor = new DescendingVisitor(aJavaClass, mVisitor); aJavaClass.accept(visitor); } }