Package com.strobel.assembler.metadata
Class GenericParameter
- java.lang.Object
-
- com.strobel.assembler.metadata.MemberReference
-
- com.strobel.assembler.metadata.TypeReference
-
- com.strobel.assembler.metadata.TypeDefinition
-
- com.strobel.assembler.metadata.GenericParameter
-
- All Implemented Interfaces:
IAnnotationsProvider
,IGenericContext
,IGenericParameterProvider
,IMemberDefinition
,IMetadataTypeMember
public final class GenericParameter extends TypeDefinition
-
-
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
_extendsBound
private IGenericParameterProvider
_owner
private int
_position
private GenericParameterType
_type
-
Fields inherited from class com.strobel.assembler.metadata.TypeReference
EMPTY_REFERENCES
-
-
Constructor Summary
Constructors Constructor Description GenericParameter(java.lang.String name)
GenericParameter(java.lang.String name, TypeReference extendsBound)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(TypeMetadataVisitor<P,R> visitor, P parameter)
protected java.lang.StringBuilder
appendBriefDescription(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendDescription(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendErasedDescription(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendErasedSignature(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendSignature(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendSimpleDescription(java.lang.StringBuilder sb)
boolean
containsGenericParameters()
TypeReference
getDeclaringType()
TypeReference
getExtendsBound()
java.lang.String
getFullName()
java.lang.String
getInternalName()
java.lang.String
getName()
IGenericParameterProvider
getOwner()
int
getPosition()
GenericParameterType
getType()
TypeReference
getUnderlyingType()
boolean
hasAnnotations()
boolean
hasExtendsBound()
boolean
isGenericParameter()
boolean
isUnbounded()
TypeDefinition
resolve()
protected void
setExtendsBound(TypeReference extendsBound)
protected void
setOwner(IGenericParameterProvider owner)
protected void
setPosition(int position)
-
Methods inherited from class com.strobel.assembler.metadata.TypeDefinition
appendGenericSignature, appendName, findTypeVariable, getAnnotations, getAnnotationsInternal, getBaseType, getCompilerMajorVersion, getCompilerMinorVersion, getCompilerTarget, getConstantPool, getDeclaredFields, getDeclaredFieldsInternal, getDeclaredMethods, getDeclaredMethodsInternal, getDeclaredTypes, getDeclaredTypesInternal, getDeclaringMethod, getEnumConstants, getErasedSignature, getExplicitInterfaces, getExplicitInterfacesInternal, getFlags, getGenericParameters, getGenericParametersInternal, getModifiers, getPackageName, getPermittedSubclasses, getPermittedSubclassesInternal, getRawType, getResolver, getSignature, getSimpleName, getSimpleType, getSourceAttributes, getSourceAttributesInternal, getTypeLoader, isAnnotation, isAnonymous, isArray, isClass, isCompoundType, isDefinition, isDeprecated, isEnum, isFinal, isInnerClass, isInterface, isLocalClass, isModule, isNested, isNonPublic, isNonSealed, isPackagePrivate, isPrimitive, isPrivate, isProtected, isPublic, isRecord, isSealed, isStatic, isSynthetic, setBaseType, setCompilerVersion, setConstantPool, setDeclaringMethod, setEnumConstants, setFlags, setPackageName, setResolver, setSimpleName, setTypeLoader
-
Methods inherited from class com.strobel.assembler.metadata.TypeReference
appendClassDescription, appendClassSignature, appendErasedClassSignature, checkRecursive, equals, getBriefDescription, getDescription, getElementType, getErasedDescription, getSimpleDescription, getSuperBound, hasGenericParameters, hashCode, hasSuperBound, isBoundedType, isEquivalentTo, isGenericDefinition, isGenericType, isUnionType, isVoid, isWildcardType, makeArrayType, makeGenericType, makeGenericType, resolve, resolve, resolve, setDeclaringType, setName, toString
-
Methods inherited from class com.strobel.assembler.metadata.MemberReference
isSpecialName
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.strobel.assembler.metadata.IMemberDefinition
getBriefDescription, getDescription, getErasedDescription, getSimpleDescription, isSpecialName
-
-
-
-
Field Detail
-
_position
private int _position
-
_type
private GenericParameterType _type
-
_owner
private IGenericParameterProvider _owner
-
_extendsBound
private TypeReference _extendsBound
-
-
Constructor Detail
-
GenericParameter
public GenericParameter(java.lang.String name)
-
GenericParameter
public GenericParameter(java.lang.String name, TypeReference extendsBound)
-
-
Method Detail
-
setPosition
protected final void setPosition(int position)
-
setOwner
protected final void setOwner(IGenericParameterProvider owner)
-
setExtendsBound
protected final void setExtendsBound(TypeReference extendsBound)
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceIMemberDefinition
- Specified by:
getName
in interfaceIMetadataTypeMember
- Overrides:
getName
in classTypeReference
-
getFullName
public java.lang.String getFullName()
- Specified by:
getFullName
in interfaceIMemberDefinition
- Overrides:
getFullName
in classTypeDefinition
-
getInternalName
public java.lang.String getInternalName()
- Overrides:
getInternalName
in classTypeDefinition
-
getUnderlyingType
public TypeReference getUnderlyingType()
- Overrides:
getUnderlyingType
in classTypeReference
-
accept
public final <R,P> R accept(TypeMetadataVisitor<P,R> visitor, P parameter)
- Overrides:
accept
in classTypeDefinition
-
isUnbounded
public boolean isUnbounded()
- Overrides:
isUnbounded
in classTypeReference
-
isGenericParameter
public boolean isGenericParameter()
- Overrides:
isGenericParameter
in classTypeReference
-
containsGenericParameters
public boolean containsGenericParameters()
- Overrides:
containsGenericParameters
in classTypeReference
-
getDeclaringType
public TypeReference getDeclaringType()
- Specified by:
getDeclaringType
in interfaceIMemberDefinition
- Specified by:
getDeclaringType
in interfaceIMetadataTypeMember
- Overrides:
getDeclaringType
in classTypeReference
-
getPosition
public int getPosition()
-
getType
public GenericParameterType getType()
-
getOwner
public IGenericParameterProvider getOwner()
-
hasExtendsBound
public boolean hasExtendsBound()
- Overrides:
hasExtendsBound
in classTypeReference
-
getExtendsBound
public TypeReference getExtendsBound()
- Overrides:
getExtendsBound
in classTypeReference
-
hasAnnotations
public boolean hasAnnotations()
- Specified by:
hasAnnotations
in interfaceIAnnotationsProvider
- Overrides:
hasAnnotations
in classMemberReference
-
resolve
public TypeDefinition resolve()
- Overrides:
resolve
in classTypeDefinition
-
appendDescription
protected java.lang.StringBuilder appendDescription(java.lang.StringBuilder sb)
- Overrides:
appendDescription
in classTypeDefinition
-
appendBriefDescription
protected java.lang.StringBuilder appendBriefDescription(java.lang.StringBuilder sb)
- Overrides:
appendBriefDescription
in classTypeReference
-
appendErasedDescription
protected java.lang.StringBuilder appendErasedDescription(java.lang.StringBuilder sb)
- Overrides:
appendErasedDescription
in classTypeReference
-
appendSignature
protected java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
- Overrides:
appendSignature
in classTypeReference
-
appendErasedSignature
protected java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
- Overrides:
appendErasedSignature
in classTypeReference
-
appendSimpleDescription
protected java.lang.StringBuilder appendSimpleDescription(java.lang.StringBuilder sb)
- Overrides:
appendSimpleDescription
in classTypeReference
-
-