public void visitClass(ClassNode node) { // AIC are already done, doing them here again will lead to wrong scopes if (node instanceof InnerClassNode) { InnerClassNode in = (InnerClassNode) node; if (in.isAnonymous() && !in.isEnum()) return; } pushState(); prepareVisit(node); super.visitClass(node); if (recurseInnerClasses) { Iterator<InnerClassNode> innerClasses = node.getInnerClasses(); while (innerClasses.hasNext()) { visitClass(innerClasses.next()); } } popState(); }