Package japicmp.compat
Class CompatibilityChanges
- java.lang.Object
-
- japicmp.compat.CompatibilityChanges
-
public class CompatibilityChanges extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCompatibilityChanges.Classpathprivate static interfaceCompatibilityChanges.OnImplementedInterfaceCallback<T>private static interfaceCompatibilityChanges.OnSuperclassCallback<T>
-
Field Summary
Fields Modifier and Type Field Description private JarArchiveComparatorjarArchiveComparator
-
Constructor Summary
Constructors Constructor Description CompatibilityChanges(JarArchiveComparator jarArchiveComparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddCompatibilityChange(JApiCompatibility binaryCompatibility, JApiCompatibilityChange compatibilityChange)private java.util.Map<java.lang.String,JApiClass>buildClassMap(java.util.List<JApiClass> classes)private voidcheckAbstractMethod(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)private voidcheckIfAbstractMethodAdded(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private voidcheckIfAbstractMethodAddedInSuperclass(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private voidcheckIfAnnotationDeprectedAdded(JApiHasAnnotations jApiHasAnnotations)private voidcheckIfClassNowCheckedException(JApiClass jApiClass)private voidcheckIfConstructorsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private voidcheckIfExceptionIsNowChecked(JApiMethod method)private voidcheckIfFieldsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private voidcheckIfMethodHasBeenPulledUp(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method, java.util.List<java.lang.Integer> returnValues)private voidcheckIfMethodsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private voidcheckIfSuperclassesOrInterfacesChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)voidevaluate(java.util.List<JApiClass> classes)private voidevaluateBinaryCompatibility(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)private booleanfieldTypeMatches(JApiField field1, JApiField field2)private <T> voidforAllImplementedInterfaces(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, java.util.List<T> returnValues, CompatibilityChanges.OnImplementedInterfaceCallback<T> onImplementedInterfaceCallback)private <T> voidforAllSuperclasses(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, java.util.List<T> returnValues, CompatibilityChanges.OnSuperclassCallback<T> onSuperclassCallback)private java.util.List<JApiMethod>getImplementedMethods(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)private java.util.List<JApiMethod>getOverriddenMethods(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)private booleanhasSameType(JApiField field, JApiField otherField)private booleanisAbstract(JApiHasAbstractModifier jApiHasAbstractModifier)private booleanisAnnotation(JApiClass jApiClass)private booleanisEnum(JApiClass jApiClass)private booleanisImplemented(JApiMethod jApiMethod)Is a method implemented in a super classprivate booleanisInterface(JApiClass jApiClass)private JApiClassloadClass(java.lang.String newSuperclassName, java.util.EnumSet<CompatibilityChanges.Classpath> classpaths)private java.util.List<JApiMethod>removeNullValues(java.util.ArrayList<JApiMethod> jApiMethods)
-
-
-
Field Detail
-
jarArchiveComparator
private final JarArchiveComparator jarArchiveComparator
-
-
Constructor Detail
-
CompatibilityChanges
public CompatibilityChanges(JarArchiveComparator jarArchiveComparator)
-
-
Method Detail
-
evaluate
public void evaluate(java.util.List<JApiClass> classes)
-
buildClassMap
private java.util.Map<java.lang.String,JApiClass> buildClassMap(java.util.List<JApiClass> classes)
-
evaluateBinaryCompatibility
private void evaluateBinaryCompatibility(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfFieldsHaveChangedIncompatible
private void checkIfFieldsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
forAllSuperclasses
private <T> void forAllSuperclasses(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, java.util.List<T> returnValues, CompatibilityChanges.OnSuperclassCallback<T> onSuperclassCallback)
-
loadClass
private JApiClass loadClass(java.lang.String newSuperclassName, java.util.EnumSet<CompatibilityChanges.Classpath> classpaths)
-
checkIfConstructorsHaveChangedIncompatible
private void checkIfConstructorsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfMethodsHaveChangedIncompatible
private void checkIfMethodsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfAnnotationDeprectedAdded
private void checkIfAnnotationDeprectedAdded(JApiHasAnnotations jApiHasAnnotations)
-
checkAbstractMethod
private void checkAbstractMethod(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)
-
getOverriddenMethods
private java.util.List<JApiMethod> getOverriddenMethods(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)
-
removeNullValues
private java.util.List<JApiMethod> removeNullValues(java.util.ArrayList<JApiMethod> jApiMethods)
-
getImplementedMethods
private java.util.List<JApiMethod> getImplementedMethods(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)
-
isAbstract
private boolean isAbstract(JApiHasAbstractModifier jApiHasAbstractModifier)
-
checkIfExceptionIsNowChecked
private void checkIfExceptionIsNowChecked(JApiMethod method)
-
isInterface
private boolean isInterface(JApiClass jApiClass)
-
isAnnotation
private boolean isAnnotation(JApiClass jApiClass)
-
isEnum
private boolean isEnum(JApiClass jApiClass)
-
checkIfMethodHasBeenPulledUp
private void checkIfMethodHasBeenPulledUp(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method, java.util.List<java.lang.Integer> returnValues)
-
forAllImplementedInterfaces
private <T> void forAllImplementedInterfaces(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, java.util.List<T> returnValues, CompatibilityChanges.OnImplementedInterfaceCallback<T> onImplementedInterfaceCallback)
-
isImplemented
private boolean isImplemented(JApiMethod jApiMethod)
Is a method implemented in a super class- Parameters:
jApiMethod- the method- Returns:
trueif it is implemented in a super class
-
checkIfSuperclassesOrInterfacesChangedIncompatible
private void checkIfSuperclassesOrInterfacesChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfAbstractMethodAdded
private void checkIfAbstractMethodAdded(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfAbstractMethodAddedInSuperclass
private void checkIfAbstractMethodAddedInSuperclass(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
-
checkIfClassNowCheckedException
private void checkIfClassNowCheckedException(JApiClass jApiClass)
-
addCompatibilityChange
private void addCompatibilityChange(JApiCompatibility binaryCompatibility, JApiCompatibilityChange compatibilityChange)
-
-