Package com.strobel.assembler.metadata
Class ParameterizedType
- java.lang.Object
-
- com.strobel.assembler.metadata.MemberReference
-
- com.strobel.assembler.metadata.TypeReference
-
- com.strobel.assembler.metadata.ParameterizedType
-
- All Implemented Interfaces:
IAnnotationsProvider
,IGenericContext
,IGenericInstance
,IGenericParameterProvider
,IMetadataTypeMember
final class ParameterizedType extends TypeReference implements IGenericInstance
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.strobel.assembler.metadata.TypeReference
TypeReference.TypeFunctions
-
-
Field Summary
Fields Modifier and Type Field Description private TypeReference
_genericDefinition
private java.util.List<TypeReference>
_typeParameters
-
Fields inherited from class com.strobel.assembler.metadata.TypeReference
EMPTY_REFERENCES
-
-
Constructor Summary
Constructors Constructor Description ParameterizedType(TypeReference genericDefinition, java.util.List<TypeReference> typeParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(TypeMetadataVisitor<P,R> visitor, P parameter)
TypeReference
getDeclaringType()
java.lang.String
getFullName()
IGenericParameterProvider
getGenericDefinition()
java.util.List<GenericParameter>
getGenericParameters()
java.lang.String
getInternalName()
java.lang.String
getName()
java.lang.String
getPackageName()
java.lang.String
getSimpleName()
java.util.List<TypeReference>
getTypeArguments()
TypeReference
getUnderlyingType()
boolean
hasTypeArguments()
boolean
isGenericDefinition()
TypeDefinition
resolve()
FieldDefinition
resolve(FieldReference field)
MethodDefinition
resolve(MethodReference method)
TypeDefinition
resolve(TypeReference type)
-
Methods inherited from class com.strobel.assembler.metadata.TypeReference
appendBriefDescription, appendClassDescription, appendClassSignature, appendDescription, appendErasedClassSignature, appendErasedDescription, appendErasedSignature, appendGenericSignature, appendName, appendSignature, appendSimpleDescription, checkRecursive, containsGenericParameters, equals, findTypeVariable, getBriefDescription, getDescription, getElementType, getErasedDescription, getExtendsBound, getRawType, getSimpleDescription, getSimpleType, getSuperBound, hasExtendsBound, hasGenericParameters, hashCode, hasSuperBound, isArray, isBoundedType, isCompoundType, isEquivalentTo, isGenericParameter, isGenericType, isNested, isPrimitive, isUnbounded, isUnionType, isVoid, isWildcardType, makeArrayType, makeGenericType, makeGenericType, setDeclaringType, setName, toString
-
Methods inherited from class com.strobel.assembler.metadata.MemberReference
getAnnotations, getErasedSignature, getSignature, hasAnnotations, isDefinition, isSpecialName
-
-
-
-
Field Detail
-
_genericDefinition
private final TypeReference _genericDefinition
-
_typeParameters
private final java.util.List<TypeReference> _typeParameters
-
-
Constructor Detail
-
ParameterizedType
ParameterizedType(TypeReference genericDefinition, java.util.List<TypeReference> typeParameters)
-
-
Method Detail
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceIMetadataTypeMember
- Overrides:
getName
in classTypeReference
-
getPackageName
public java.lang.String getPackageName()
- Overrides:
getPackageName
in classTypeReference
-
getFullName
public java.lang.String getFullName()
- Overrides:
getFullName
in classTypeReference
-
getInternalName
public java.lang.String getInternalName()
- Overrides:
getInternalName
in classTypeReference
-
getDeclaringType
public TypeReference getDeclaringType()
- Specified by:
getDeclaringType
in interfaceIMetadataTypeMember
- Overrides:
getDeclaringType
in classTypeReference
-
getSimpleName
public java.lang.String getSimpleName()
- Specified by:
getSimpleName
in classTypeReference
-
isGenericDefinition
public boolean isGenericDefinition()
- Specified by:
isGenericDefinition
in interfaceIGenericParameterProvider
- Overrides:
isGenericDefinition
in classTypeReference
-
getGenericParameters
public java.util.List<GenericParameter> getGenericParameters()
- Specified by:
getGenericParameters
in interfaceIGenericParameterProvider
- Overrides:
getGenericParameters
in classTypeReference
-
hasTypeArguments
public boolean hasTypeArguments()
- Specified by:
hasTypeArguments
in interfaceIGenericInstance
-
getTypeArguments
public java.util.List<TypeReference> getTypeArguments()
- Specified by:
getTypeArguments
in interfaceIGenericInstance
-
getGenericDefinition
public IGenericParameterProvider getGenericDefinition()
- Specified by:
getGenericDefinition
in interfaceIGenericInstance
-
getUnderlyingType
public TypeReference getUnderlyingType()
- Overrides:
getUnderlyingType
in classTypeReference
-
accept
public final <R,P> R accept(TypeMetadataVisitor<P,R> visitor, P parameter)
- Specified by:
accept
in classTypeReference
-
resolve
public TypeDefinition resolve()
- Overrides:
resolve
in classTypeReference
-
resolve
public FieldDefinition resolve(FieldReference field)
- Overrides:
resolve
in classTypeReference
-
resolve
public MethodDefinition resolve(MethodReference method)
- Overrides:
resolve
in classTypeReference
-
resolve
public TypeDefinition resolve(TypeReference type)
- Overrides:
resolve
in classTypeReference
-
-