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 class
CompatibilityChanges.Classpath
private static interface
CompatibilityChanges.OnImplementedInterfaceCallback<T>
private static interface
CompatibilityChanges.OnSuperclassCallback<T>
-
Field Summary
Fields Modifier and Type Field Description private JarArchiveComparator
jarArchiveComparator
-
Constructor Summary
Constructors Constructor Description CompatibilityChanges(JarArchiveComparator jarArchiveComparator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addCompatibilityChange(JApiCompatibility binaryCompatibility, JApiCompatibilityChange compatibilityChange)
private java.util.Map<java.lang.String,JApiClass>
buildClassMap(java.util.List<JApiClass> classes)
private void
checkAbstractMethod(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method)
private void
checkIfAbstractMethodAdded(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private void
checkIfAbstractMethodAddedInSuperclass(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private void
checkIfAnnotationDeprectedAdded(JApiHasAnnotations jApiHasAnnotations)
private void
checkIfClassNowCheckedException(JApiClass jApiClass)
private void
checkIfConstructorsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private void
checkIfExceptionIsNowChecked(JApiMethod method)
private void
checkIfFieldsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private void
checkIfMethodHasBeenPulledUp(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, JApiMethod method, java.util.List<java.lang.Integer> returnValues)
private void
checkIfMethodsHaveChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private void
checkIfSuperclassesOrInterfacesChangedIncompatible(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
void
evaluate(java.util.List<JApiClass> classes)
private void
evaluateBinaryCompatibility(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap)
private boolean
fieldTypeMatches(JApiField field1, JApiField field2)
private <T> void
forAllImplementedInterfaces(JApiClass jApiClass, java.util.Map<java.lang.String,JApiClass> classMap, java.util.List<T> returnValues, CompatibilityChanges.OnImplementedInterfaceCallback<T> onImplementedInterfaceCallback)
private <T> void
forAllSuperclasses(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 boolean
hasSameType(JApiField field, JApiField otherField)
private boolean
isAbstract(JApiHasAbstractModifier jApiHasAbstractModifier)
private boolean
isAnnotation(JApiClass jApiClass)
private boolean
isEnum(JApiClass jApiClass)
private boolean
isImplemented(JApiMethod jApiMethod)
Is a method implemented in a super classprivate boolean
isInterface(JApiClass jApiClass)
private JApiClass
loadClass(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:
true
if 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)
-
-