public boolean differs ( ClassInfo oldInfo , ClassInfo newInfo ) { if ( Tools . isClassAccessChange ( oldInfo . getAccess ( ) , newInfo . getAccess ( ) ) ) return true ; // Yes classes can have a null supername, e.g. java.lang.Object ! if ( oldInfo . getSupername ( ) == null ) { if ( newInfo . getSupername ( ) != null ) { return true ; } } else if ( ! oldInfo . getSupername ( ) . equals ( newInfo . getSupername ( ) ) ) { return true ; } final Set < String > oldInterfaces = new HashSet ( Arrays . asList ( oldInfo . getInterfaces ( ) ) ) ; final Set < String > newInterfaces = new HashSet ( Arrays . asList ( newInfo . getInterfaces ( ) ) ) ; if ( ! oldInterfaces . equals ( newInterfaces ) ) return true ; return false ; }
Check if there is a change between two versions of a class . Returns true if the access flags differ or if the superclass differs or if the implemented interfaces differ .