Top Description Fields Constructors Methods
org.aspectj.weaver

public Class BoundedReferenceType

extends ReferenceType
Class Inheritance
Imports
java.util.Map

A BoundedReferenceType is the result of a generics wildcard expression ? extends String, ? super Foo etc.. The "signature" for a bounded reference type follows the generic signature specification in section 4.4 of JVM spec: *,+,- plus signature strings. The bound may be a type variable (e.g. ? super T)
Authors
Adrian Colyer, Andy Clement

Field Summary

Modifier and TypeField and Description
protected ReferenceType[]
public static final int
public int
private ResolvedType
public static final int
public static final int
private ResolvedType
Inherited from org.aspectj.weaver.ReferenceType:
delegateEMPTY_ARRAYendPosgenericTypeparameterizedDeclaresparameterizedFieldsparameterizedInterfacesparameterizedMethodsparameterizedPointcutsrawTypestartPossuperclassReference

Constructor Summary

AccessConstructor and Description
public
BoundedReferenceType(ReferenceType aBound, boolean isExtends, World world)

public
BoundedReferenceType(ReferenceType aBound, boolean isExtends, World world, ReferenceType[] additionalInterfaces)

protected
BoundedReferenceType(String signature, String erasedSignature, World world)

only for use when resolving GenericsWildcardTypeX or a TypeVariableReferenceType

public
BoundedReferenceType(World world)

Constructs the BoundedReferenceType representing an unbounded wildcard '?'.

Method Summary

Modifier and TypeMethod and Description
public boolean
alwaysMatches(ResolvedType aCandidateType)

public boolean
canBeCoercedTo(ResolvedType aCandidateType)

public ReferenceType[]
public ResolvedType[]
getDeclaredInterfaces()

Overrides org.aspectj.weaver.ReferenceType.getDeclaredInterfaces.

Find out from the generic signature the true signature of any interfaces I implement.
public UnresolvedType
public String
public String
public UnresolvedType
public boolean
public boolean
public boolean
public boolean
public boolean
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.
Inherited from org.aspectj.weaver.ReferenceType:
addAnnotationaddDependentTypeaddParentcanAnnotationTargetTypecheckDuplicatesdemoteToSimpleTypedoesNotExposeShadowMungersensureConsistentfindDerivativeTypefromTypeXgetAnnotationOfTypegetAnnotationsgetAnnotationTargetKindsgetAnnotationTypesgetCompilerVersiongetDeclaredFieldsgetDeclaredGenericSignaturegetDeclaredMethodsgetDeclaredPointcutsgetDeclaresgetDelegategetEndPosgetGenericSignaturegetGenericTypegetModifiersgetNameAsIdentifiergetOuterClassgetPerClausegetPrivilegedAccessesgetRetentionPolicygetSourceContextgetSourceLocationgetStartPosgetSuperclassgetTypeMungersgetTypeVariablesgetWeaverStatehasAnnotationhasAnnotationshasNewInterfacesisAnnotationisAnnotationStyleAspectisAnnotationWithRuntimeRetentionisAnonymousisAspectisAssignableFromisAssignableFromisClassisCoerceableFromisEnumisExposedToWeaverisGenericTypeisNestedsetDelegatesetEndPossetGenericTypesetStartPos

Field Detail

additionalInterfaceBoundsback to summary
protected ReferenceType[] additionalInterfaceBounds
EXTENDSback to summary
public static final int EXTENDS
kindback to summary
public int kind
lowerBoundback to summary
private ResolvedType lowerBound
SUPERback to summary
public static final int SUPER
UNBOUNDback to summary
public static final int UNBOUND
upperBoundback to summary
private ResolvedType upperBound

Constructor Detail

BoundedReferenceTypeback to summary
public BoundedReferenceType(ReferenceType aBound, boolean isExtends, World world)
BoundedReferenceTypeback to summary
public BoundedReferenceType(ReferenceType aBound, boolean isExtends, World world, ReferenceType[] additionalInterfaces)
BoundedReferenceTypeback to summary
protected BoundedReferenceType(String signature, String erasedSignature, World world)

only for use when resolving GenericsWildcardTypeX or a TypeVariableReferenceType

BoundedReferenceTypeback to summary
public BoundedReferenceType(World world)

Constructs the BoundedReferenceType representing an unbounded wildcard '?'. In this situation the signature is '*' and the erased signature is Ljava/lang/Object;

Method Detail

alwaysMatchesback to summary
public boolean alwaysMatches(ResolvedType aCandidateType)
canBeCoercedToback to summary
public boolean canBeCoercedTo(ResolvedType aCandidateType)
getAdditionalBoundsback to summary
public ReferenceType[] getAdditionalBounds()
getDeclaredInterfacesback to summary
public ResolvedType[] getDeclaredInterfaces()

Overrides org.aspectj.weaver.ReferenceType.getDeclaredInterfaces.

Doc from org.aspectj.weaver.ReferenceType.getDeclaredInterfaces.

Find out from the generic signature the true signature of any interfaces I implement. If I am parameterized, these may then need to be parameterized before returning.

Annotations
@Override
getLowerBoundback to summary
public UnresolvedType getLowerBound()
getSignatureForAttributeback to summary
public String getSignatureForAttribute()

Overrides org.aspectj.weaver.ReferenceType.getSignatureForAttribute.

Annotations
@Override
getSimpleNameback to summary
public String getSimpleName()

Overrides org.aspectj.weaver.UnresolvedType.getSimpleName.

Annotations
@Override
getUpperBoundback to summary
public UnresolvedType getUpperBound()
hasLowerBoundback to summary
public boolean hasLowerBound()
isExtendsback to summary
public boolean isExtends()
isGenericWildcardback to summary
public boolean isGenericWildcard()

Overrides org.aspectj.weaver.UnresolvedType.isGenericWildcard.

Annotations
@Override
isSuperback to summary
public boolean isSuper()
isUnboundback to summary
public boolean isUnbound()
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