Class StructuralEqualityVisitHistory

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      @Nullable java.lang.Boolean get​(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, javax.lang.model.element.AnnotationMirror hierarchy)
      Return whether or not the two types are structurally equal for the given hierarchy or null if the types have not been visited for the given hierarchy.
      void put​(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, javax.lang.model.element.AnnotationMirror hierarchy, boolean result)
      Put result of comparing type1 and type2 for structural equality for the given hierarchy.
      void remove​(AnnotatedTypeMirror type1, AnnotatedTypeMirror type2, javax.lang.model.element.AnnotationMirror hierarchy)
      Remove the result of comparing type1 and type2 for structural equality for the given hierarchy.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StructuralEqualityVisitHistory

        public StructuralEqualityVisitHistory()
        Creates an empty StructuralEqualityVisitHistory.
    • Method Detail

      • put

        public void put​(AnnotatedTypeMirror type1,
                        AnnotatedTypeMirror type2,
                        javax.lang.model.element.AnnotationMirror hierarchy,
                        boolean result)
        Put result of comparing type1 and type2 for structural equality for the given hierarchy.
        Parameters:
        type1 - the first type
        type2 - the second type
        hierarchy - the top of the relevant type hierarchy; only annotations from that hierarchy are considered
        result - whether type1 is structurally equal to type2
      • get

        public @Nullable java.lang.Boolean get​(AnnotatedTypeMirror type1,
                                               AnnotatedTypeMirror type2,
                                               javax.lang.model.element.AnnotationMirror hierarchy)
        Return whether or not the two types are structurally equal for the given hierarchy or null if the types have not been visited for the given hierarchy.
        Parameters:
        type1 - the first type
        type2 - the second type
        hierarchy - the top of the relevant type hierarchy; only annotations from that hierarchy are considered
        Returns:
        whether or not the two types are structurally equal for the given hierarchy or null if the types have not been visited for the given hierarchy
      • remove

        public void remove​(AnnotatedTypeMirror type1,
                           AnnotatedTypeMirror type2,
                           javax.lang.model.element.AnnotationMirror hierarchy)
        Remove the result of comparing type1 and type2 for structural equality for the given hierarchy.
        Parameters:
        type1 - the first type
        type2 - the second type
        hierarchy - the top of the relevant type hierarchy; only annotations from that hierarchy are considered