@ Override public void visitClassContext ( ClassContext classContext ) { try { JavaClass cls = classContext . getJavaClass ( ) ; for ( CompareSpec entry : compareClasses ) { if ( cls . implementationOf ( entry . getCompareClass ( ) ) ) { methodInfo = entry . getMethodInfo ( ) ; stack = new OpcodeStack ( ) ; super . visitClassContext ( classContext ) ; break ; } } } catch ( ClassNotFoundException cnfe ) { bugReporter . reportMissingClass ( cnfe ) ; } finally { methodInfo = null ; stack = null ; } }
implements the visitor to actually iterate twice over this class once for compareTo and once for compare .