Top Description Fields Constructors Methods
org.aspectj.weaver

public Class ResolvedMemberImpl

extends MemberImpl
implements IHasPosition, ResolvedMember
Class Inheritance
All Implemented Interfaces
org.aspectj.weaver.ResolvedMember, org.aspectj.weaver.TypeVariableDeclaringElement, org.aspectj.weaver.AnnotatedElement, org.aspectj.weaver.Member, java.lang.Comparable, org.aspectj.weaver.IHasPosition
Known Direct Subclasses
org.aspectj.weaver.ResolvedPointcutDefinition, org.aspectj.weaver.bcel.BcelField, org.aspectj.weaver.bcel.BcelMethod, org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl
Imports
java.io.IOException, java.lang.reflect.Modifier, java.util.ArrayList, .HashMap, .HashSet, .Iterator, .LinkedHashSet, .List, .Map, .Set, org.aspectj.bridge.ISourceLocation

Represent a resolved member. Components of it are expected to exist. This member will correspond to a real member *unless* it is being used to represent the effect of an ITD.
Authors
PARC, Andy Clement

Field Summary

Modifier and TypeField and Description
protected AnnotationAJ[]
protected ResolvedType[]
protected ResolvedMember
backingGenericMember

if this member is a parameterized version of a member in a generic type, then this field holds a reference to the member we parameterize.

protected UnresolvedType[]
protected int
private boolean
private boolean
private boolean
private String
myParameterSignatureErasure

converts e.g. <t extends number>....

private String
myParameterSignatureWithBoundsRemoved

converts e.g. <t extends number>....

protected AnnotationAJ[][]
protected ResolvedType[][]
private String[]
public static boolean
protected ISourceContext
protected int
protected TypeVariable[]
Inherited from org.aspectj.weaver.MemberImpl:
declaringTypekindmodifiersnameparameterTypesreturnType

Constructor Summary

AccessConstructor and Description
public
ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes)

public
ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions)

public
ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions, ResolvedMember backingGenericMember)

public
ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, String name, String signature)

Method Summary

Modifier and TypeMethod and Description
private static void
accumulateMembersMatching(ResolvedMemberImpl memberToMatch, Iterator<ResolvedType> typesToLookIn, List<ResolvedType> typesAlreadyVisited, Set<ResolvedMember> foundMembers, boolean ignoreGenerics)

We have a resolved member, possibly with type parameter references as parameters or return type.

private static void
accumulateTypesInBetween(ResolvedType subType, ResolvedType superType, List<ResolvedType> types)

Build a list containing every type between subtype and supertype, inclusively.

public void
public static void
private static boolean
public void
public String
public AnnotationAJ
public AnnotationAJ[]
public ResolvedType[]
public ShadowMunger
public ResolvedMember
public AjAttribute.EffectiveSignatureAttribute
public int
getEnd()

Implements org.aspectj.weaver.IHasPosition.getEnd, org.aspectj.weaver.ResolvedMember.getEnd.

The ending index of this location in the character stream This points to the last character in this token.
public final UnresolvedType[]
public UnresolvedType[]
public UnresolvedType[]
public UnresolvedType
public String
public static JoinPointSignature[]
getJoinPointSignatures(Member joinPointSignature, World inAWorld)

Compute the full set of signatures for a member.

public final int
public final int
public AnnotationAJ[][]
public ResolvedType[][]
public String[]
public final String[]
public String
getParameterSignatureErased()

Implements org.aspectj.weaver.ResolvedMember.getParameterSignatureErased.

Return the erased form of the signature with bounds collapsed for type variables, etc. Does not include the return type, @see getParam
private String
public String
public String

Returns:

the generic signature for the member that could be inserted into a class file
getSignatureForAttribute
()

Return the member generic signature that would be suitable for inclusion in a class file Signature attribute.

public ISourceContext
public ISourceContext
public ISourceLocation
public int
getStart()

Implements org.aspectj.weaver.IHasPosition.getStart, org.aspectj.weaver.ResolvedMember.getStart.

The starting index of this location in the character stream.
public TypeVariable
public TypeVariable[]
public boolean

Returns:

true if the annotation is found on this member or its backing generic member
hasAnnotation
(UnresolvedType
the type of the annotation being searched for
ofType
)

Implements org.aspectj.weaver.ResolvedMember.hasAnnotation.

Check if this member has an annotation of the specified type.
public boolean
public boolean
hasBackingGenericMember()

Implements org.aspectj.weaver.ResolvedMember.hasBackingGenericMember.

If this member is defined by a parameterized super-type, return the erasure of that member.
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
private static boolean
isVisibleTo(ResolvedMember childMember, ResolvedMember parentMember)

Returns true if the parent member is visible to the child member In the same declaring type this is always true, otherwise if parent is private it is false.

public boolean
matches(ResolvedMember aCandidateMatch, boolean ignoreGenerics)

Implements org.aspectj.weaver.ResolvedMember.matches.

Returns true if this member matches the other.
protected UnresolvedType
parameterize(UnresolvedType aType, Map<String, UnresolvedType> typeVariableMap, boolean inParameterizedType, World w)

public ResolvedMemberImpl
parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized)

Implements org.aspectj.weaver.ResolvedMember.parameterizedWith.

public ResolvedMemberImpl
parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized, List<String> aliases)

Implements org.aspectj.weaver.ResolvedMember.parameterizedWith.

Return a resolvedmember in which all the type variables in the signature have been replaced with the given bindings.
public ResolvedMember
parameterizedWith(Map<String, UnresolvedType> m, World w)

Implements org.aspectj.weaver.ResolvedMember.parameterizedWith.

Replace occurrences of type variables in the signature with values contained in the map.
public static ResolvedMemberImpl
public static ResolvedMember[]
public void
public void
resetModifiers(int newModifiers)

public void
resetName(String newName)

For ITDs, we use the default factory methods to build a resolved member, then alter a couple of characteristics using this method - this is safe.

public void
public ResolvedMember
protected void
setAjSynthetic(boolean b)

public void
public void
public void
public void
public void
public final void
public void
setPosition(int sourceStart, int sourceEnd)

Implements org.aspectj.weaver.ResolvedMember.setPosition.

public void
public void
public void
private static boolean
public String
toDebugString()

Implements org.aspectj.weaver.ResolvedMember.toDebugString.

Useful for writing tests, returns *everything* we know about this member.
public String
public void
public static void
Inherited from org.aspectj.weaver.MemberImpl:
canBeParameterizedcompareToequalsequalsApartFromDeclaringTypefieldgetAritygetDeclaringTypegetDeclaringTypesgetJoinPointSignaturesgetKindgetNamegetParameterSignaturegetParameterTypesgetReturnTypegetSignaturegetTypehashCodeisInterfaceisPrivateisStaticmakeExceptionHandlerSignaturemethodmethodmonitorEntermonitorExitpointcuttoStringtypesToSignaturetypesToSignaturewipeJoinpointSignatures