Package gnu.bytecode

Class ParameterizedType

All Implemented Interfaces:
Type
Direct Known Subclasses:
GenArrayType

public class ParameterizedType extends ObjectType
  • Constructor Details

    • ParameterizedType

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

    • getRawType

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

      public 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 String getSignature()
      Overrides:
      getSignature in class Type
    • getGenericSignature

      public String getGenericSignature()
      Overrides:
      getGenericSignature in class Type
    • emitCoerceFromObject

      public void emitCoerceFromObject(CodeAttr code)
      Description copied from class: ObjectType
      Compile (in given method) cast from Object to this Type.
      Overrides:
      emitCoerceFromObject in class ObjectType
    • emitIsInstance

      public void emitIsInstance(CodeAttr code)
      Overrides:
      emitIsInstance in class Type
    • getName

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

      public 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(Object other)
      Overrides:
      equals in class Object