Top Description Fields Constructors Methods
org.aspectj.weaver

public Class TypeVariableReferenceType

extends ReferenceType
implements TypeVariableReference
Class Inheritance
All Implemented Interfaces
org.aspectj.weaver.TypeVariableReference
Imports
java.util.Map

ReferenceType pointing to a type variable. The delegate for this reference type is the upperbound on the type variable (so Object if not otherwise specified).
Authors
Adrian Colyer, Andy Clement

Field Summary

Modifier and TypeField and Description
private TypeVariable
Inherited from org.aspectj.weaver.ReferenceType:
delegateEMPTY_ARRAYendPosgenericTypeparameterizedDeclaresparameterizedFieldsparameterizedInterfacesparameterizedMethodsparameterizedPointcutsrawTypestartPossuperclassReference

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides org.aspectj.weaver.ResolvedType.equals.

Equality is checked based on the underlying signature.
public ReferenceTypeDelegate
getDelegate()

Overrides org.aspectj.weaver.ReferenceType.getDelegate.

For a TypeVariableReferenceType the delegate is the delegate for the first bound.
public String
getSignature()

Overrides org.aspectj.weaver.UnresolvedType.getSignature.

return the signature for a *REFERENCE* to a type variable, which is simply: Tname; there is no bounds info included, that is in the signature of the type variable itself
public TypeVariable
public String

Returns:

the name of the type variable
getTypeVariableName
()

public ReferenceType
public int
hashCode()

Overrides org.aspectj.weaver.UnresolvedType.hashCode.

Equality is checked based on the underlying signature, so the hash code of a particular type is the hash code of its signature string.
public boolean
isAnnotation()

Overrides org.aspectj.weaver.ReferenceType.isAnnotation.

Note

Only overridden by Name subtype.

public boolean
public boolean
public boolean

Returns:

true if the type variable this reference is managing is resolved
isTypeVariableResolved
()

public UnresolvedType
parameterize(Map<String, UnresolvedType> typeBindings)

Overrides org.aspectj.weaver.ResolvedType.parameterize.

Iff I am a parameterized type, and any of my parameters are type variable references (or nested parameterized types), return a version with those type parameters replaced in accordance with the passed bindings.
public ResolvedType
resolve(World
the World within which to resolve.
world
)

Overrides org.aspectj.weaver.UnresolvedType.resolve.

resolve the type variable we are managing and then return this object.
public String
toString()

Overrides org.aspectj.weaver.UnresolvedType.toString.

Returns a java language string representation of this type.
Inherited from org.aspectj.weaver.ReferenceType:
addAnnotationaddDependentTypeaddParentcanAnnotationTargetTypecheckDuplicatesdemoteToSimpleTypedoesNotExposeShadowMungersensureConsistentfindDerivativeTypefromTypeXgetAnnotationOfTypegetAnnotationsgetAnnotationTargetKindsgetAnnotationTypesgetCompilerVersiongetDeclaredFieldsgetDeclaredGenericSignaturegetDeclaredInterfacesgetDeclaredMethodsgetDeclaredPointcutsgetDeclaresgetEndPosgetGenericSignaturegetGenericTypegetModifiersgetNameAsIdentifiergetOuterClassgetPerClausegetPrivilegedAccessesgetRetentionPolicygetSignatureForAttributegetSourceContextgetSourceLocationgetStartPosgetSuperclassgetTypeMungersgetTypeVariablesgetWeaverStatehasAnnotationhasAnnotationshasNewInterfacesisAnnotationStyleAspectisAnnotationWithRuntimeRetentionisAnonymousisAspectisAssignableFromisAssignableFromisClassisCoerceableFromisEnumisExposedToWeaverisGenericTypeisNestedsetDelegatesetEndPossetGenericTypesetStartPos

Field Detail

typeVariableback to summary
private TypeVariable typeVariable

Constructor Detail

TypeVariableReferenceTypeback to summary
public TypeVariableReferenceType(TypeVariable typeVariable, World world)

Method Detail

equalsback to summary
public boolean equals(Object other)

Overrides org.aspectj.weaver.ResolvedType.equals.

Doc from org.aspectj.weaver.UnresolvedType.equals.

Equality is checked based on the underlying signature.

Parameters
other:Object

Doc from java.lang.Object.equals.

the reference object with which to compare.

Returns:boolean

Doc from java.lang.Object.equals.

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getDelegateback to summary
public ReferenceTypeDelegate getDelegate()

Overrides org.aspectj.weaver.ReferenceType.getDelegate.

For a TypeVariableReferenceType the delegate is the delegate for the first bound.

Annotations
@Override
getSignatureback to summary
public String getSignature()

Overrides org.aspectj.weaver.UnresolvedType.getSignature.

return the signature for a *REFERENCE* to a type variable, which is simply: Tname; there is no bounds info included, that is in the signature of the type variable itself

Returns:String

Doc from org.aspectj.weaver.UnresolvedType.getSignature.

the java JVM signature string for this type.

Annotations
@Override
getTypeVariableback to summary
public TypeVariable getTypeVariable()

Implements org.aspectj.weaver.TypeVariableReference.getTypeVariable.

getTypeVariableNameback to summary
public String getTypeVariableName()
Returns:String

the name of the type variable

getUpperBoundback to summary
public ReferenceType getUpperBound()
hashCodeback to summary
public int hashCode()

Overrides org.aspectj.weaver.UnresolvedType.hashCode.

Doc from org.aspectj.weaver.UnresolvedType.hashCode.

Equality is checked based on the underlying signature, so the hash code of a particular type is the hash code of its signature string.

Returns:int

Doc from java.lang.Object.hashCode.

a hash code value for this object.

Annotations
@Override
isAnnotationback to summary
public boolean isAnnotation()

Overrides org.aspectj.weaver.ReferenceType.isAnnotation.

Doc from org.aspectj.weaver.ResolvedType.isAnnotation.

Note

Only overridden by Name subtype.

Annotations
@Override
isGenericWildcardback to summary
public boolean isGenericWildcard()

Overrides org.aspectj.weaver.UnresolvedType.isGenericWildcard.

Annotations
@Override
isTypeVariableReferenceback to summary
public boolean isTypeVariableReference()

Overrides org.aspectj.weaver.UnresolvedType.isTypeVariableReference.

Annotations
@Override
isTypeVariableResolvedback to summary
public boolean isTypeVariableResolved()
Returns:boolean

true if the type variable this reference is managing is resolved

parameterizeback to summary
public UnresolvedType parameterize(Map<String, UnresolvedType> typeBindings)

Overrides org.aspectj.weaver.ResolvedType.parameterize.

Doc from org.aspectj.weaver.ResolvedType.parameterize.

Iff I am a parameterized type, and any of my parameters are type variable references (or nested parameterized types), return a version with those type parameters replaced in accordance with the passed bindings.

Annotations
@Override
resolveback to summary
public ResolvedType resolve(World world)

Overrides org.aspectj.weaver.UnresolvedType.resolve.

resolve the type variable we are managing and then return this object. 'this' is already a ResolvedType but the type variable may transition from a not-resolved to a resolved state.

Parameters
world:World

Doc from org.aspectj.weaver.UnresolvedType.resolve.

the World within which to resolve.

Returns:ResolvedType

Doc from org.aspectj.weaver.UnresolvedType.resolve.

a resolved type representing this type in the appropriate world.

toStringback to summary
public String toString()

Overrides org.aspectj.weaver.UnresolvedType.toString.

Doc from org.aspectj.weaver.UnresolvedType.toString.

Returns a java language string representation of this type.

Returns:String

Doc from java.lang.Object.toString.

a string representation of the object.

Annotations
@Override