Class IsInvalidTypeVisitor

  • All Implemented Interfaces:
    com.google.common.base.Predicate<javax.lang.model.type.TypeMirror>, java.util.function.Predicate<javax.lang.model.type.TypeMirror>, javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>

    public class IsInvalidTypeVisitor
    extends javax.lang.model.util.AbstractTypeVisitor8<java.lang.Boolean,​java.lang.Void>
    implements com.google.common.base.Predicate<javax.lang.model.type.TypeMirror>
    A type visitor that returns true if the type will be invalid if we write it out.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<javax.lang.model.type.DeclaredType,​java.lang.Boolean> invalidity
      Handles self-referential types like Comparable<E extends Comparable<E>>.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean apply​(javax.lang.model.type.TypeMirror input)
      Returns true if input is neither null nor invalid.
      static boolean isLegalType​(javax.lang.model.type.TypeMirror mirror)  
      java.lang.Boolean visitArray​(javax.lang.model.type.ArrayType t, java.lang.Void p)  
      java.lang.Boolean visitDeclared​(javax.lang.model.type.DeclaredType t, java.lang.Void p)  
      java.lang.Boolean visitError​(javax.lang.model.type.ErrorType t, java.lang.Void p)  
      java.lang.Boolean visitExecutable​(javax.lang.model.type.ExecutableType t, java.lang.Void p)  
      java.lang.Boolean visitIntersection​(javax.lang.model.type.IntersectionType t, java.lang.Void p)  
      java.lang.Boolean visitNoType​(javax.lang.model.type.NoType t, java.lang.Void p)  
      java.lang.Boolean visitNull​(javax.lang.model.type.NullType t, java.lang.Void p)  
      java.lang.Boolean visitPrimitive​(javax.lang.model.type.PrimitiveType t, java.lang.Void p)  
      java.lang.Boolean visitTypeVariable​(javax.lang.model.type.TypeVariable t, java.lang.Void p)  
      java.lang.Boolean visitUnion​(javax.lang.model.type.UnionType t, java.lang.Void p)  
      java.lang.Boolean visitWildcard​(javax.lang.model.type.WildcardType t, java.lang.Void p)  
      • Methods inherited from class javax.lang.model.util.AbstractTypeVisitor6

        visit, visit, visitUnknown
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.google.common.base.Predicate

        equals, test
      • Methods inherited from interface java.util.function.Predicate

        and, negate, or
    • Field Detail

      • invalidity

        private final java.util.Map<javax.lang.model.type.DeclaredType,​java.lang.Boolean> invalidity
        Handles self-referential types like Comparable<E extends Comparable<E>>.
    • Constructor Detail

      • IsInvalidTypeVisitor

        private IsInvalidTypeVisitor()
    • Method Detail

      • isLegalType

        public static boolean isLegalType​(javax.lang.model.type.TypeMirror mirror)
      • apply

        public boolean apply​(javax.lang.model.type.TypeMirror input)
        Returns true if input is neither null nor invalid.
        Specified by:
        apply in interface com.google.common.base.Predicate<javax.lang.model.type.TypeMirror>
      • visitPrimitive

        public java.lang.Boolean visitPrimitive​(javax.lang.model.type.PrimitiveType t,
                                                java.lang.Void p)
        Specified by:
        visitPrimitive in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitNull

        public java.lang.Boolean visitNull​(javax.lang.model.type.NullType t,
                                           java.lang.Void p)
        Specified by:
        visitNull in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitArray

        public java.lang.Boolean visitArray​(javax.lang.model.type.ArrayType t,
                                            java.lang.Void p)
        Specified by:
        visitArray in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitDeclared

        public java.lang.Boolean visitDeclared​(javax.lang.model.type.DeclaredType t,
                                               java.lang.Void p)
        Specified by:
        visitDeclared in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitError

        public java.lang.Boolean visitError​(javax.lang.model.type.ErrorType t,
                                            java.lang.Void p)
        Specified by:
        visitError in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitTypeVariable

        public java.lang.Boolean visitTypeVariable​(javax.lang.model.type.TypeVariable t,
                                                   java.lang.Void p)
        Specified by:
        visitTypeVariable in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitWildcard

        public java.lang.Boolean visitWildcard​(javax.lang.model.type.WildcardType t,
                                               java.lang.Void p)
        Specified by:
        visitWildcard in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitExecutable

        public java.lang.Boolean visitExecutable​(javax.lang.model.type.ExecutableType t,
                                                 java.lang.Void p)
        Specified by:
        visitExecutable in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitNoType

        public java.lang.Boolean visitNoType​(javax.lang.model.type.NoType t,
                                             java.lang.Void p)
        Specified by:
        visitNoType in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
      • visitIntersection

        public java.lang.Boolean visitIntersection​(javax.lang.model.type.IntersectionType t,
                                                   java.lang.Void p)
        Specified by:
        visitIntersection in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
        Specified by:
        visitIntersection in class javax.lang.model.util.AbstractTypeVisitor8<java.lang.Boolean,​java.lang.Void>
      • visitUnion

        public java.lang.Boolean visitUnion​(javax.lang.model.type.UnionType t,
                                            java.lang.Void p)
        Specified by:
        visitUnion in interface javax.lang.model.type.TypeVisitor<java.lang.Boolean,​java.lang.Void>
        Specified by:
        visitUnion in class javax.lang.model.util.AbstractTypeVisitor7<java.lang.Boolean,​java.lang.Void>