Class GenericObjectType
java.lang.Object
org.apache.bcel.generic.Type
org.apache.bcel.generic.ReferenceType
org.apache.bcel.generic.ObjectType
edu.umd.cs.findbugs.ba.generic.GenericObjectType
public class GenericObjectType
extends org.apache.bcel.generic.ObjectType
Extension to ObjectType that includes additional information about the
generic signature.
A GenericObjectType is either a parameterized type e.g.
List<String>, or a type variable e.g. T.
This class cannot be initialized directly. Instead, create a GenericObjectType by calling GenericUtilities.getType(String) and passing in the bytecode signature for the type.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final org.apache.bcel.generic.ReferenceType(package private) final List<? extends org.apache.bcel.generic.ReferenceType> (package private) final StringFields inherited from class org.apache.bcel.generic.Type
BOOLEAN, BYTE, CHAR, CLASS, DOUBLE, FLOAT, INT, LONG, NO_ARGS, NULL, OBJECT, SHORT, signature, STRING, STRINGBUFFER, THROWABLE, type, UNKNOWN, VOID -
Constructor Summary
ConstructorsConstructorDescriptionGenericObjectType(String variable) Create a GenericObjectType that represents a Simple Type Variable or a simple wildcard with no extensionsGenericObjectType(String class_name, List<? extends org.apache.bcel.generic.ReferenceType> parameters) Create a GenericObjectType that represents a parameterized classGenericObjectType(String wildcard, org.apache.bcel.generic.ReferenceType extension) Create a GenericObjectType that represents a Wildcard with extensions -
Method Summary
Modifier and TypeMethodDescriptionbooleanorg.apache.bcel.generic.Typeintorg.apache.bcel.generic.ObjectTypeorg.apache.bcel.generic.ReferenceTypegetParameterAt(int index) List<? extends org.apache.bcel.generic.ReferenceType> Get the TypeCategory that represents this Objectorg.apache.bcel.generic.TypeinthashCode()booleanorg.apache.bcel.generic.ReferenceTypeproduce()toString()toString(boolean includeGenerics) Return a string representation of this object.Methods inherited from class org.apache.bcel.generic.ObjectType
accessibleTo, getClassName, getInstance, referencesClass, referencesClassExact, referencesInterface, referencesInterfaceExact, subclassOfMethods inherited from class org.apache.bcel.generic.ReferenceType
firstCommonSuperclass, getFirstCommonSuperclass, isAssignmentCompatibleWith, isCastableToMethods inherited from class org.apache.bcel.generic.Type
getArgumentTypes, getMethodSignature, getReturnType, getSignature, getSignature, getSize, getType, getType, getType, getTypes, normalizeForStackOrLocal
-
Field Details
-
parameters
-
variable
-
extension
@CheckForNull final org.apache.bcel.generic.ReferenceType extension
-
-
Constructor Details
-
GenericObjectType
GenericObjectType(@Nonnull String variable) Create a GenericObjectType that represents a Simple Type Variable or a simple wildcard with no extensions- Parameters:
variable- the type variable e.g.T
-
GenericObjectType
GenericObjectType(@Nonnull String wildcard, @CheckForNull org.apache.bcel.generic.ReferenceType extension) Create a GenericObjectType that represents a Wildcard with extensions -
GenericObjectType
GenericObjectType(@DottedClassName String class_name, List<? extends org.apache.bcel.generic.ReferenceType> parameters) Create a GenericObjectType that represents a parameterized class- Parameters:
class_name- the class that is parameterized. e.g.java.util.Listparameters- the parameters of this class, must be at least 1 parameter
-
-
Method Details
-
produce
public org.apache.bcel.generic.ReferenceType produce() -
hashCode
public int hashCode()- Overrides:
hashCodein classorg.apache.bcel.generic.ObjectType
-
equals
- Overrides:
equalsin classorg.apache.bcel.generic.ObjectType
-
getUpperBound
public org.apache.bcel.generic.Type getUpperBound() -
getExtension
public org.apache.bcel.generic.Type getExtension()- Returns:
- Returns the extension.
-
getVariable
- Returns:
- Returns the variable.
-
getTypeCategory
Get the TypeCategory that represents this Object- See Also:
-
hasParameters
public boolean hasParameters()- Returns:
- true if this GenericObjectType represents a parameterized type
e.g.
List<String>. This implies that isVariable() is falses
-
getNumParameters
public int getNumParameters()- Returns:
- the number of parameters if this is a parameterized class, 0 otherwise
-
getParameterAt
public org.apache.bcel.generic.ReferenceType getParameterAt(int index) - Parameters:
index- should be less than getNumParameters()- Returns:
- the type parameter at index
-
getParameters
-
getObjectType
public org.apache.bcel.generic.ObjectType getObjectType()- Returns:
- the underlying ObjectType for this Generic Object
-
toString
Return a string representation of this object. (I do not overridetoString()in case any existing code assumes that this object is an ObjectType and expects similar string representation. i.e.toString()is equivalent totoString(false))- Parameters:
includeGenerics- if true then the string includes generic information in this object. Otherwise this returns the same value as ObjectType.toString()
-
toString
- Overrides:
toStringin classorg.apache.bcel.generic.Type
-
toPlainString
-
getGenericParametersAsString
-