Class ReifiedParameterizedType

  • All Implemented Interfaces:
    java.lang.reflect.ParameterizedType, java.lang.reflect.Type

    class ReifiedParameterizedType
    extends java.lang.Object
    implements java.lang.reflect.ParameterizedType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean[] loop  
      private java.lang.reflect.ParameterizedType original  
      private int reified  
      private java.lang.reflect.Type[] reifiedTypeArguments  
    • Constructor Summary

      Constructors 
      Constructor Description
      ReifiedParameterizedType​(java.lang.reflect.ParameterizedType original)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void addReifiedTypeArgument​(java.lang.reflect.Type type)
      This method is used to set reified types as they are processed.
      boolean equals​(java.lang.Object o)  
      java.lang.reflect.Type[] getActualTypeArguments()  
      java.lang.reflect.Type getOwnerType()  
      java.lang.reflect.Type getRawType()  
      int hashCode()  
      java.lang.String toString()
      Keep this consistent with ParameterizedTypeImpl.toString()
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.reflect.Type

        getTypeName
    • Field Detail

      • original

        private final java.lang.reflect.ParameterizedType original
      • reifiedTypeArguments

        private final java.lang.reflect.Type[] reifiedTypeArguments
      • loop

        private final boolean[] loop
      • reified

        private int reified
    • Constructor Detail

      • ReifiedParameterizedType

        ReifiedParameterizedType​(java.lang.reflect.ParameterizedType original)
    • Method Detail

      • addReifiedTypeArgument

        void addReifiedTypeArgument​(java.lang.reflect.Type type)
        This method is used to set reified types as they are processed. For example, When reifying some T<E1, E2>, in order to reify T we need to reify first E1 and then E2 in order. The reified counterpart of T is allocated before, and then the results from reifying E1 and E2 are added through this method.
        Parameters:
        type - the reification result to be added
      • getActualTypeArguments

        public java.lang.reflect.Type[] getActualTypeArguments()
        Specified by:
        getActualTypeArguments in interface java.lang.reflect.ParameterizedType
      • getRawType

        public java.lang.reflect.Type getRawType()
        Specified by:
        getRawType in interface java.lang.reflect.ParameterizedType
      • getOwnerType

        public java.lang.reflect.Type getOwnerType()
        Specified by:
        getOwnerType in interface java.lang.reflect.ParameterizedType
      • toString

        public java.lang.String toString()
        Keep this consistent with ParameterizedTypeImpl.toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object