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_extendsBoundprivate IGenericParameterProvider_ownerprivate int_positionprivate 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.StringBuilderappendBriefDescription(java.lang.StringBuilder sb)protected java.lang.StringBuilderappendDescription(java.lang.StringBuilder sb)protected java.lang.StringBuilderappendErasedDescription(java.lang.StringBuilder sb)protected java.lang.StringBuilderappendErasedSignature(java.lang.StringBuilder sb)protected java.lang.StringBuilderappendSignature(java.lang.StringBuilder sb)protected java.lang.StringBuilderappendSimpleDescription(java.lang.StringBuilder sb)booleancontainsGenericParameters()TypeReferencegetDeclaringType()TypeReferencegetExtendsBound()java.lang.StringgetFullName()java.lang.StringgetInternalName()java.lang.StringgetName()IGenericParameterProvidergetOwner()intgetPosition()GenericParameterTypegetType()TypeReferencegetUnderlyingType()booleanhasAnnotations()booleanhasExtendsBound()booleanisGenericParameter()booleanisUnbounded()TypeDefinitionresolve()protected voidsetExtendsBound(TypeReference extendsBound)protected voidsetOwner(IGenericParameterProvider owner)protected voidsetPosition(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:
getNamein interfaceIMemberDefinition- Specified by:
getNamein interfaceIMetadataTypeMember- Overrides:
getNamein classTypeReference
-
getFullName
public java.lang.String getFullName()
- Specified by:
getFullNamein interfaceIMemberDefinition- Overrides:
getFullNamein classTypeDefinition
-
getInternalName
public java.lang.String getInternalName()
- Overrides:
getInternalNamein classTypeDefinition
-
getUnderlyingType
public TypeReference getUnderlyingType()
- Overrides:
getUnderlyingTypein classTypeReference
-
accept
public final <R,P> R accept(TypeMetadataVisitor<P,R> visitor, P parameter)
- Overrides:
acceptin classTypeDefinition
-
isUnbounded
public boolean isUnbounded()
- Overrides:
isUnboundedin classTypeReference
-
isGenericParameter
public boolean isGenericParameter()
- Overrides:
isGenericParameterin classTypeReference
-
containsGenericParameters
public boolean containsGenericParameters()
- Overrides:
containsGenericParametersin classTypeReference
-
getDeclaringType
public TypeReference getDeclaringType()
- Specified by:
getDeclaringTypein interfaceIMemberDefinition- Specified by:
getDeclaringTypein interfaceIMetadataTypeMember- Overrides:
getDeclaringTypein classTypeReference
-
getPosition
public int getPosition()
-
getType
public GenericParameterType getType()
-
getOwner
public IGenericParameterProvider getOwner()
-
hasExtendsBound
public boolean hasExtendsBound()
- Overrides:
hasExtendsBoundin classTypeReference
-
getExtendsBound
public TypeReference getExtendsBound()
- Overrides:
getExtendsBoundin classTypeReference
-
hasAnnotations
public boolean hasAnnotations()
- Specified by:
hasAnnotationsin interfaceIAnnotationsProvider- Overrides:
hasAnnotationsin classMemberReference
-
resolve
public TypeDefinition resolve()
- Overrides:
resolvein classTypeDefinition
-
appendDescription
protected java.lang.StringBuilder appendDescription(java.lang.StringBuilder sb)
- Overrides:
appendDescriptionin classTypeDefinition
-
appendBriefDescription
protected java.lang.StringBuilder appendBriefDescription(java.lang.StringBuilder sb)
- Overrides:
appendBriefDescriptionin classTypeReference
-
appendErasedDescription
protected java.lang.StringBuilder appendErasedDescription(java.lang.StringBuilder sb)
- Overrides:
appendErasedDescriptionin classTypeReference
-
appendSignature
protected java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
- Overrides:
appendSignaturein classTypeReference
-
appendErasedSignature
protected java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
- Overrides:
appendErasedSignaturein classTypeReference
-
appendSimpleDescription
protected java.lang.StringBuilder appendSimpleDescription(java.lang.StringBuilder sb)
- Overrides:
appendSimpleDescriptionin classTypeReference
-
-