Package gnu.bytecode

Class ParameterizedType

  • All Implemented Interfaces:
    java.lang.reflect.Type
    Direct Known Subclasses:
    GenArrayType

    public class ParameterizedType
    extends ObjectType
    • Constructor Detail

      • ParameterizedType

        public ParameterizedType​(ClassType rawType,
                                 Type... typeArgumentTypes)
    • Method Detail

      • getRawType

        public ClassType getRawType()
        Description copied from class: Type
        Return JVM-level implementation type.
        Overrides:
        getRawType in class Type
      • getReflectClass

        public java.lang.Class getReflectClass()
        Description copied from class: ObjectType
        Get the java.lang.Class object for the representation type.
        Overrides:
        getReflectClass in class ObjectType
      • getTypeArgumentTypes

        public Type[] getTypeArgumentTypes()
      • getTypeArgumentType

        public Type getTypeArgumentType​(int index)
      • setTypeArgumentBound

        public void setTypeArgumentBound​(int index,
                                         char bound)
        Set a wildcard indicator.
      • getTypeArgumentBound

        public char getTypeArgumentBound​(int index)
      • setTypeArgumentBounds

        public void setTypeArgumentBounds​(char[] bounds)
      • getSignature

        public java.lang.String getSignature()
        Overrides:
        getSignature in class Type
      • getGenericSignature

        public java.lang.String getGenericSignature()
        Overrides:
        getGenericSignature in class Type
      • getName

        public java.lang.String getName()
        Overrides:
        getName in class Type
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Type
      • compare

        public int compare​(Type other)
        Description copied from class: Type
        Return a numeric code showing "subtype" relationship: 1: if other is a pure subtype of this; 0: if has the same values; -1: if this is a pure subtype of other; -2: if they have values in common but neither is a subtype of the other; -3: if the types have no values in common. "Same values" is rather loose; by "A is a subtype of B" we mean that all instance of A can be "widened" to B. More formally, A.compare(B) returns: 1: all B values can be converted to A without a coercion failure (i.e. a ClassCastException or overflow or major loss of information), but not vice versa. 0: all A values can be converted to B without a coercion failure and vice versa; -1: all A values can be converted to B without a coercion failure but not vice versa; -2: there are (potentially) some A values that can be converted to B, and some B values can be converted to A; -3: there are no A values that can be converted to B, and neither are there any B values that can be converted to A.
        Overrides:
        compare in class ObjectType
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object