jasm.lang
Class JvmType.Wildcard

java.lang.Object
  extended by jasm.lang.JvmType.Wildcard
All Implemented Interfaces:
JvmType, JvmType.Reference, java.lang.Comparable<JvmType>
Enclosing interface:
JvmType

public static class JvmType.Wildcard
extends java.lang.Object
implements JvmType.Reference

This represents the special "?" type. As used, for example, in the following method declaration: void printAll(Collection { ... }

Author:
David J. Pearce

Nested Class Summary
 
Nested classes/interfaces inherited from interface jasm.lang.JvmType
JvmType.Array, JvmType.Bool, JvmType.Byte, JvmType.Char, JvmType.Clazz, JvmType.Double, JvmType.Float, JvmType.Function, JvmType.Int, JvmType.Intersection, JvmType.Long, JvmType.Null, JvmType.Primitive, JvmType.Reference, JvmType.Short, JvmType.Variable, JvmType.Void, JvmType.Wildcard
 
Constructor Summary
JvmType.Wildcard(JvmType.Reference lowerBound, JvmType.Reference upperBound)
           
 
Method Summary
 int compareTo(JvmType t)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 JvmType.Reference lowerBound()
          Return the lower bound of this wildcard.
 java.lang.String toString()
           
 JvmType.Reference upperBound()
          Return the upper bound of this wildcard.
 java.util.List<JvmType.Variable> usedVariables()
           This method returns the list of generic variables used in this type.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JvmType.Wildcard

public JvmType.Wildcard(JvmType.Reference lowerBound,
                        JvmType.Reference upperBound)
Method Detail

upperBound

public JvmType.Reference upperBound()
Return the upper bound of this wildcard. This will be null if there is none.

Returns:

lowerBound

public JvmType.Reference lowerBound()
Return the lower bound of this wildcard. This will be null if there is none.

Returns:

equals

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

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

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

compareTo

public int compareTo(JvmType t)
Specified by:
compareTo in interface java.lang.Comparable<JvmType>

usedVariables

public java.util.List<JvmType.Variable> usedVariables()
Description copied from interface: JvmType

This method returns the list of generic variables used in this type. So, for example, suppose we have:

 T = java.lang.ArrayList<? extends S>
 

Then, T.usedVariables()=[S].

Specified by:
usedVariables in interface JvmType
Returns:


Copyright © 2013 David J. Pearce. All Rights Reserved.