public class StructuralEqualityComparer extends AbstractAtmComboVisitor<Boolean,Void>
See also DefaultTypeHierarchy, and SubtypeVisitHistory
Modifier and Type | Field and Description |
---|---|
protected StructuralEqualityVisitHistory |
visitHistory
History saving the result of previous comparisons.
|
Constructor and Description |
---|
StructuralEqualityComparer(StructuralEqualityVisitHistory typeargVisitHistory)
Create a StructuralEqualityComparer.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
areAllEqual(Collection<? extends AnnotatedTypeMirror> types1,
Collection<? extends AnnotatedTypeMirror> types2)
Compare each type in types1 and types2 pairwise and return true if they are all equal.
|
boolean |
areEqualInHierarchy(AnnotatedTypeMirror type1,
AnnotatedTypeMirror type2,
AnnotationMirror top) |
protected boolean |
arePrimeAnnosEqual(AnnotatedTypeMirror type1,
AnnotatedTypeMirror type2)
Return true if type1 and type2 have the same set of annotations.
|
protected boolean |
checkOrAreEqual(AnnotatedTypeMirror type1,
AnnotatedTypeMirror type2)
First check visitHistory to see if type1 and type2 have been compared once already.
|
protected Boolean |
defaultAction(AnnotatedTypeMirror type1,
AnnotatedTypeMirror type2,
Void p)
Called by the default implementation of every AbstractAtmComboVisitor visit method.
|
protected String |
defaultErrorMessage(AnnotatedTypeMirror type1,
AnnotatedTypeMirror type2,
Void p)
Called for every combination that isn't specifically handled.
|
Boolean |
visitArray_Array(AnnotatedTypeMirror.AnnotatedArrayType type1,
AnnotatedTypeMirror.AnnotatedArrayType type2,
Void p)
Two arrays are equal if:
Their sets of primary annotations are equal, and
Their component types are equal
|
Boolean |
visitDeclared_Declared(AnnotatedTypeMirror.AnnotatedDeclaredType type1,
AnnotatedTypeMirror.AnnotatedDeclaredType type2,
Void p)
Two declared types are equal if:
The types are of the same class/interfaces
Their sets of primary annotations are equal
Their sets of type arguments are equal or one type is raw
|
Boolean |
visitDeclared_Primitive(AnnotatedTypeMirror.AnnotatedDeclaredType type1,
AnnotatedTypeMirror.AnnotatedPrimitiveType type2,
Void p) |
Boolean |
visitIntersection_Intersection(AnnotatedTypeMirror.AnnotatedIntersectionType type1,
AnnotatedTypeMirror.AnnotatedIntersectionType type2,
Void p)
Two intersection types are equal if:
Their sets of primary annotations are equal
Their sets of bounds (the types being intersected) are equal
|
Boolean |
visitPrimitive_Declared(AnnotatedTypeMirror.AnnotatedPrimitiveType type1,
AnnotatedTypeMirror.AnnotatedDeclaredType type2,
Void p) |
Boolean |
visitPrimitive_Primitive(AnnotatedTypeMirror.AnnotatedPrimitiveType type1,
AnnotatedTypeMirror.AnnotatedPrimitiveType type2,
Void p)
Two primitive types are equal if:
Their sets of primary annotations are equal
|
protected boolean |
visitTypeArgs(AnnotatedTypeMirror.AnnotatedDeclaredType type1,
AnnotatedTypeMirror.AnnotatedDeclaredType type2)
A helper class for visitDeclared_Declared.
|
Boolean |
visitTypevar_Typevar(AnnotatedTypeMirror.AnnotatedTypeVariable type1,
AnnotatedTypeMirror.AnnotatedTypeVariable type2,
Void p)
Two type variables are equal if:
Their bounds are equal
Note: Primary annotations will be taken into account when the bounds are retrieved
|
Boolean |
visitWildcard_Typevar(AnnotatedTypeMirror.AnnotatedWildcardType type1,
AnnotatedTypeMirror.AnnotatedTypeVariable type2,
Void p) |
Boolean |
visitWildcard_Wildcard(AnnotatedTypeMirror.AnnotatedWildcardType type1,
AnnotatedTypeMirror.AnnotatedWildcardType type2,
Void p)
Two wildcards are equal if:
Their bounds are equal
Note: Primary annotations will be taken into account when the bounds are retrieved
|
visit, visitArray_Declared, visitArray_Executable, visitArray_Intersection, visitArray_None, visitArray_Null, visitArray_Primitive, visitArray_Typevar, visitArray_Union, visitArray_Wildcard, visitDeclared_Array, visitDeclared_Executable, visitDeclared_Intersection, visitDeclared_None, visitDeclared_Null, visitDeclared_Typevar, visitDeclared_Union, visitDeclared_Wildcard, visitExecutable_Array, visitExecutable_Declared, visitExecutable_Executable, visitExecutable_Intersection, visitExecutable_None, visitExecutable_Null, visitExecutable_Primitive, visitExecutable_Typevar, visitExecutable_Union, visitExecutable_Wildcard, visitIntersection_Array, visitIntersection_Declared, visitIntersection_Executable, visitIntersection_None, visitIntersection_Null, visitIntersection_Primitive, visitIntersection_Typevar, visitIntersection_Union, visitIntersection_Wildcard, visitNone_Array, visitNone_Declared, visitNone_Executable, visitNone_Intersection, visitNone_None, visitNone_Null, visitNone_Primitive, visitNone_Union, visitNone_Wildcard, visitNull_Array, visitNull_Declared, visitNull_Executable, visitNull_Intersection, visitNull_None, visitNull_Null, visitNull_Primitive, visitNull_Typevar, visitNull_Union, visitNull_Wildcard, visitPrimitive_Array, visitPrimitive_Executable, visitPrimitive_Intersection, visitPrimitive_None, visitPrimitive_Null, visitPrimitive_Typevar, visitPrimitive_Union, visitPrimitive_Wildcard, visitTypevar_Array, visitTypevar_Declared, visitTypevar_Executable, visitTypevar_Intersection, visitTypevar_None, visitTypevar_Null, visitTypevar_Primitive, visitTypevar_Union, visitTypevar_Wildcard, visitUnion_Array, visitUnion_Declared, visitUnion_Executable, visitUnion_Intersection, visitUnion_None, visitUnion_Null, visitUnion_Primitive, visitUnion_Typevar, visitUnion_Union, visitUnion_Wildcard, visitWildcard_Array, visitWildcard_Declared, visitWildcard_Executable, visitWildcard_Intersection, visitWildcard_None, visitWildcard_Null, visitWildcard_Primitive, visitWildcard_Union
protected final StructuralEqualityVisitHistory visitHistory
public StructuralEqualityComparer(StructuralEqualityVisitHistory typeargVisitHistory)
typeargVisitHistory
- history saving the result of previous comparisonsprotected Boolean defaultAction(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, Void p)
AbstractAtmComboVisitor
defaultAction
in class AbstractAtmComboVisitor<Boolean,Void>
type1
- the first AnnotatedTypeMirror parameter to the visit method calledtype2
- the second AnnotatedTypeMirror parameter to the visit method calledp
- subtype specific parameter passed to every visit methodprotected String defaultErrorMessage(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, Void p)
defaultErrorMessage
in class AbstractAtmComboVisitor<Boolean,Void>
type1
- the first AnnotatedTypeMirror parameter to the visit method calledtype2
- the second AnnotatedTypeMirror parameter to the visit method calledp
- subtype specific parameter passed to every visit methodpublic boolean areEqualInHierarchy(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, AnnotationMirror top)
protected boolean arePrimeAnnosEqual(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2)
protected boolean areAllEqual(Collection<? extends AnnotatedTypeMirror> types1, Collection<? extends AnnotatedTypeMirror> types2)
protected boolean checkOrAreEqual(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2)
type1
- the first typetype2
- the second typepublic Boolean visitArray_Array(AnnotatedTypeMirror.AnnotatedArrayType type1, AnnotatedTypeMirror.AnnotatedArrayType type2, Void p)
visitArray_Array
in interface AtmComboVisitor<Boolean,Void>
visitArray_Array
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitDeclared_Declared(AnnotatedTypeMirror.AnnotatedDeclaredType type1, AnnotatedTypeMirror.AnnotatedDeclaredType type2, Void p)
visitDeclared_Declared
in interface AtmComboVisitor<Boolean,Void>
visitDeclared_Declared
in class AbstractAtmComboVisitor<Boolean,Void>
protected boolean visitTypeArgs(AnnotatedTypeMirror.AnnotatedDeclaredType type1, AnnotatedTypeMirror.AnnotatedDeclaredType type2)
public Boolean visitIntersection_Intersection(AnnotatedTypeMirror.AnnotatedIntersectionType type1, AnnotatedTypeMirror.AnnotatedIntersectionType type2, Void p)
visitIntersection_Intersection
in interface AtmComboVisitor<Boolean,Void>
visitIntersection_Intersection
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitPrimitive_Primitive(AnnotatedTypeMirror.AnnotatedPrimitiveType type1, AnnotatedTypeMirror.AnnotatedPrimitiveType type2, Void p)
visitPrimitive_Primitive
in interface AtmComboVisitor<Boolean,Void>
visitPrimitive_Primitive
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitTypevar_Typevar(AnnotatedTypeMirror.AnnotatedTypeVariable type1, AnnotatedTypeMirror.AnnotatedTypeVariable type2, Void p)
visitTypevar_Typevar
in interface AtmComboVisitor<Boolean,Void>
visitTypevar_Typevar
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitWildcard_Wildcard(AnnotatedTypeMirror.AnnotatedWildcardType type1, AnnotatedTypeMirror.AnnotatedWildcardType type2, Void p)
visitWildcard_Wildcard
in interface AtmComboVisitor<Boolean,Void>
visitWildcard_Wildcard
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitWildcard_Typevar(AnnotatedTypeMirror.AnnotatedWildcardType type1, AnnotatedTypeMirror.AnnotatedTypeVariable type2, Void p)
visitWildcard_Typevar
in interface AtmComboVisitor<Boolean,Void>
visitWildcard_Typevar
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitDeclared_Primitive(AnnotatedTypeMirror.AnnotatedDeclaredType type1, AnnotatedTypeMirror.AnnotatedPrimitiveType type2, Void p)
visitDeclared_Primitive
in interface AtmComboVisitor<Boolean,Void>
visitDeclared_Primitive
in class AbstractAtmComboVisitor<Boolean,Void>
public Boolean visitPrimitive_Declared(AnnotatedTypeMirror.AnnotatedPrimitiveType type1, AnnotatedTypeMirror.AnnotatedDeclaredType type2, Void p)
visitPrimitive_Declared
in interface AtmComboVisitor<Boolean,Void>
visitPrimitive_Declared
in class AbstractAtmComboVisitor<Boolean,Void>