Package org.aspectj.weaver
Klasse ResolvedMemberImpl
java.lang.Object
org.aspectj.weaver.MemberImpl
org.aspectj.weaver.ResolvedMemberImpl
- Alle implementierten Schnittstellen:
Comparable<Member>
,AnnotatedElement
,IHasPosition
,Member
,ResolvedMember
,TypeVariableDeclaringElement
- Bekannte direkte Unterklassen:
EclipseResolvedMember
,ReflectionBasedResolvedMemberImpl
,ResolvedPointcutDefinition
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.
- Autor:
- PARC, Andy Clement
-
Feldübersicht
Modifizierer und TypFeldBeschreibungprotected AnnotationAJ[]
protected ResolvedType[]
protected ResolvedMember
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
protected AnnotationAJ[][]
protected ResolvedType[][]
static boolean
protected ISourceContext
protected int
protected TypeVariable[]
Von Klasse geerbte Felder org.aspectj.weaver.MemberImpl
declaringType, kind, modifiers, name, parameterTypes, returnType
Von Schnittstelle geerbte Felder org.aspectj.weaver.Member
ADVICE, CONSTRUCTOR, FIELD, HANDLER, METHOD, MONITORENTER, MONITOREXIT, NO_PARAMETER_ANNOTATION_TYPES, NO_PARAMETER_ANNOTATIONXS, NONE, POINTCUT, STATIC_INITIALIZATION
Von Schnittstelle geerbte Felder org.aspectj.weaver.ResolvedMember
NONE
-
Konstruktorübersicht
KonstruktorBeschreibungResolvedMemberImpl
(MemberKind kind, UnresolvedType declaringType, int modifiers, String name, String signature) ResolvedMemberImpl
(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes) ResolvedMemberImpl
(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions) ResolvedMemberImpl
(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions, ResolvedMember backingGenericMember) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
addAnnotation
(AnnotationAJ annotation) static void
appendSigWithTypeVarBoundsRemoved
(UnresolvedType aType, StringBuffer toBuffer, Set<UnresolvedType> alreadyUsedTypeVars) void
getAnnotationOfType
(UnresolvedType ofType) int
getEnd()
The ending index of this location in the character stream This points to the last character in this token.final UnresolvedType[]
getExceptions
(World world) Get the TypeXs of the parameter types, taking generic signature into accountGet the UnresolvedType for the return type, taking generic signature into accountstatic JoinPointSignature[]
getJoinPointSignatures
(Member joinPointSignature, World inAWorld) Compute the full set of signatures for a member.final int
final int
getModifiers
(World world) AnnotationAJ[][]
ResolvedType[][]
String[]
final String[]
getParameterNames
(World world) Return the erased form of the signature with bounds collapsed for type variables, etc.Return the member generic signature that would be suitable for inclusion in a class file Signature attribute.getSourceContext
(World world) int
getStart()
The starting index of this location in the character stream.getTypeVariableNamed
(String name) boolean
hasAnnotation
(UnresolvedType ofType) Check if this member has an annotation of the specified type.boolean
boolean
If this member is defined by a parameterized super-type, return the erasure of that member.boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
isEquivalentTo
(Object other) boolean
isPublic()
boolean
boolean
boolean
isVisible
(ResolvedType fromType) boolean
matches
(ResolvedMember aCandidateMatch, boolean ignoreGenerics) Returns true if this member matches the other.protected UnresolvedType
parameterize
(UnresolvedType aType, Map<String, UnresolvedType> typeVariableMap, boolean inParameterizedType, World w) Replace occurrences of type variables in the signature with values contained in the map.parameterizedWith
(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized) parameterizedWith
(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized, List<String> aliases) Return a resolvedmember in which all the type variables in the signature have been replaced with the given bindings.static ResolvedMemberImpl
readResolvedMember
(VersionedDataInputStream s, ISourceContext sourceContext) static ResolvedMember[]
void
resetKind
(MemberKind newKind) void
resetModifiers
(int newModifiers) void
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.void
protected void
setAjSynthetic
(boolean b) void
setAnnotatedElsewhere
(boolean b) void
setAnnotations
(AnnotationAJ[] annotations) void
setAnnotationTypes
(ResolvedType[] annotationTypes) void
setCheckedExceptions
(UnresolvedType[] checkedExceptions) void
final void
setParameterNames
(String[] pnames) void
setPosition
(int sourceStart, int sourceEnd) void
setSourceContext
(ISourceContext sourceContext) void
setTypeVariables
(TypeVariable[] tvars) void
Useful for writing tests, returns *everything* we know about this member.void
static void
writeArray
(ResolvedMember[] members, CompressingDataOutputStream s) Von Klasse geerbte Methoden org.aspectj.weaver.MemberImpl
canBeParameterized, compareTo, equals, equalsApartFromDeclaringType, field, getArity, getDeclaringType, getDeclaringTypes, getJoinPointSignatures, getKind, getName, getParameterSignature, getParameterTypes, getReturnType, getSignature, getType, hashCode, isInterface, isPrivate, isStatic, makeExceptionHandlerSignature, method, method, monitorEnter, monitorExit, pointcut, toString, typesToSignature, typesToSignature, wipeJoinpointSignatures
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden org.aspectj.weaver.Member
canBeParameterized, compareTo, getArity, getDeclaringType, getDeclaringTypes, getJoinPointSignatures, getKind, getName, getParameterSignature, getParameterTypes, getReturnType, getSignature, getType
Von Schnittstelle geerbte Methoden org.aspectj.weaver.ResolvedMember
equalsApartFromDeclaringType
-
Felddetails
-
checkedExceptions
-
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. -
annotations
-
annotationTypes
-
parameterAnnotations
-
parameterAnnotationTypes
-
typeVariables
-
start
protected int start -
end
protected int end -
sourceContext
-
showParameterNames
public static boolean showParameterNames
-
-
Konstruktordetails
-
ResolvedMemberImpl
public ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes) -
ResolvedMemberImpl
public ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions) -
ResolvedMemberImpl
public ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, UnresolvedType returnType, String name, UnresolvedType[] parameterTypes, UnresolvedType[] checkedExceptions, ResolvedMember backingGenericMember) -
ResolvedMemberImpl
public ResolvedMemberImpl(MemberKind kind, UnresolvedType declaringType, int modifiers, String name, String signature)
-
-
Methodendetails
-
getJoinPointSignatures
public static JoinPointSignature[] getJoinPointSignatures(Member joinPointSignature, World inAWorld) Compute the full set of signatures for a member. This walks up the hierarchy giving the ResolvedMember in each defining type in the hierarchy. A shadowMember can be created with a target type (declaring type) that does not actually define the member. This is ok as long as the member is inherited in the declaring type. Each declaring type in the line to the actual declaring type is added as an additional signature. For example: class A { void foo(); } class B extends A {} shadowMember : void B.foo() gives { void B.foo(), void A.foo() }- Parameter:
joinPointSignature
-inAWorld
-
-
getModifiers
- Angegeben von:
getModifiers
in SchnittstelleMember
- Angegeben von:
getModifiers
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getModifiers
in KlasseMemberImpl
-
getModifiers
public final int getModifiers()- Angegeben von:
getModifiers
in SchnittstelleMember
- Angegeben von:
getModifiers
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getModifiers
in KlasseMemberImpl
-
getExceptions
- Angegeben von:
getExceptions
in SchnittstelleMember
- Angegeben von:
getExceptions
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getExceptions
in KlasseMemberImpl
-
getExceptions
- Angegeben von:
getExceptions
in SchnittstelleResolvedMember
-
getAssociatedShadowMunger
- Angegeben von:
getAssociatedShadowMunger
in SchnittstelleResolvedMember
-
isAjSynthetic
public boolean isAjSynthetic()- Angegeben von:
isAjSynthetic
in SchnittstelleResolvedMember
-
setAjSynthetic
protected void setAjSynthetic(boolean b) -
hasAnnotations
public boolean hasAnnotations() -
hasAnnotation
Check if this member has an annotation of the specified type. If the member has a backing generic member then this member represents a parameterization of a member in a generic type and the annotations available on the backing generic member should be used.- Angegeben von:
hasAnnotation
in SchnittstelleAnnotatedElement
- Angegeben von:
hasAnnotation
in SchnittstelleResolvedMember
- Parameter:
ofType
- the type of the annotation being searched for- Gibt zurück:
- true if the annotation is found on this member or its backing generic member
-
getAnnotationTypes
- Angegeben von:
getAnnotationTypes
in SchnittstelleAnnotatedElement
- Angegeben von:
getAnnotationTypes
in SchnittstelleResolvedMember
-
getAnnotationDefaultValue
- Angegeben von:
getAnnotationDefaultValue
in SchnittstelleResolvedMember
-
getAnnotations
- Angegeben von:
getAnnotations
in SchnittstelleMember
- Angegeben von:
getAnnotations
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getAnnotations
in KlasseMemberImpl
-
getAnnotationOfType
- Angegeben von:
getAnnotationOfType
in SchnittstelleAnnotatedElement
-
setAnnotations
- Angegeben von:
setAnnotations
in SchnittstelleResolvedMember
-
setAnnotationTypes
- Angegeben von:
setAnnotationTypes
in SchnittstelleResolvedMember
-
getParameterAnnotationTypes
- Angegeben von:
getParameterAnnotationTypes
in SchnittstelleResolvedMember
-
getParameterAnnotations
- Angegeben von:
getParameterAnnotations
in SchnittstelleResolvedMember
-
addAnnotation
- Angegeben von:
addAnnotation
in SchnittstelleResolvedMember
-
isBridgeMethod
public boolean isBridgeMethod()- Angegeben von:
isBridgeMethod
in SchnittstelleResolvedMember
-
isVarargsMethod
public boolean isVarargsMethod()- Angegeben von:
isVarargsMethod
in SchnittstelleResolvedMember
-
setVarargsMethod
public void setVarargsMethod() -
isSynthetic
public boolean isSynthetic()- Angegeben von:
isSynthetic
in SchnittstelleResolvedMember
-
write
- Angegeben von:
write
in SchnittstelleResolvedMember
- Löst aus:
IOException
-
getSignatureForAttribute
Return the member generic signature that would be suitable for inclusion in a class file Signature attribute. For: <T> List<String> getThem(T t) {} we would create: <T:Ljava/lang/Object;>(TT;)Ljava/util/List<Ljava/lang/String;>;;- Gibt zurück:
- the generic signature for the member that could be inserted into a class file
-
getGenericSignature
-
writeArray
public static void writeArray(ResolvedMember[] members, CompressingDataOutputStream s) throws IOException - Löst aus:
IOException
-
readResolvedMember
public static ResolvedMemberImpl readResolvedMember(VersionedDataInputStream s, ISourceContext sourceContext) throws IOException - Löst aus:
IOException
-
readResolvedMemberArray
public static ResolvedMember[] readResolvedMemberArray(VersionedDataInputStream s, ISourceContext context) throws IOException - Löst aus:
IOException
-
resolve
- Angegeben von:
resolve
in SchnittstelleMember
- Setzt außer Kraft:
resolve
in KlasseMemberImpl
-
getSourceContext
- Angegeben von:
getSourceContext
in SchnittstelleResolvedMember
-
getParameterNames
- Angegeben von:
getParameterNames
in SchnittstelleResolvedMember
-
setParameterNames
- Angegeben von:
setParameterNames
in SchnittstelleResolvedMember
-
getParameterNames
- Angegeben von:
getParameterNames
in SchnittstelleMember
- Angegeben von:
getParameterNames
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getParameterNames
in KlasseMemberImpl
-
getEffectiveSignature
- Angegeben von:
getEffectiveSignature
in SchnittstelleResolvedMember
-
getSourceLocation
- Angegeben von:
getSourceLocation
in SchnittstelleResolvedMember
-
getEnd
public int getEnd()Beschreibung aus Schnittstelle kopiert:IHasPosition
The ending index of this location in the character stream This points to the last character in this token. If a location truly had no contents, then start == end + 1. We don't recommend this.- Angegeben von:
getEnd
in SchnittstelleIHasPosition
- Angegeben von:
getEnd
in SchnittstelleResolvedMember
-
getSourceContext
- Angegeben von:
getSourceContext
in SchnittstelleResolvedMember
-
getStart
public int getStart()Beschreibung aus Schnittstelle kopiert:IHasPosition
The starting index of this location in the character stream.- Angegeben von:
getStart
in SchnittstelleIHasPosition
- Angegeben von:
getStart
in SchnittstelleResolvedMember
-
setPosition
public void setPosition(int sourceStart, int sourceEnd) - Angegeben von:
setPosition
in SchnittstelleResolvedMember
-
setDeclaringType
-
setSourceContext
- Angegeben von:
setSourceContext
in SchnittstelleResolvedMember
-
isAbstract
public boolean isAbstract()- Angegeben von:
isAbstract
in SchnittstelleResolvedMember
-
isPublic
public boolean isPublic()- Angegeben von:
isPublic
in SchnittstelleResolvedMember
-
isDefault
public boolean isDefault()- Angegeben von:
isDefault
in SchnittstelleResolvedMember
-
isVisible
- Angegeben von:
isVisible
in SchnittstelleResolvedMember
-
setCheckedExceptions
- Angegeben von:
setCheckedExceptions
in SchnittstelleResolvedMember
-
setAnnotatedElsewhere
public void setAnnotatedElsewhere(boolean b) - Angegeben von:
setAnnotatedElsewhere
in SchnittstelleResolvedMember
-
isAnnotatedElsewhere
public boolean isAnnotatedElsewhere()- Angegeben von:
isAnnotatedElsewhere
in SchnittstelleResolvedMember
-
getGenericReturnType
Get the UnresolvedType for the return type, taking generic signature into account- Angegeben von:
getGenericReturnType
in SchnittstelleMember
- Angegeben von:
getGenericReturnType
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getGenericReturnType
in KlasseMemberImpl
-
getGenericParameterTypes
Get the TypeXs of the parameter types, taking generic signature into account- Angegeben von:
getGenericParameterTypes
in SchnittstelleMember
- Angegeben von:
getGenericParameterTypes
in SchnittstelleResolvedMember
- Setzt außer Kraft:
getGenericParameterTypes
in KlasseMemberImpl
-
parameterizedWith
public ResolvedMemberImpl parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized) - Angegeben von:
parameterizedWith
in SchnittstelleResolvedMember
-
parameterizedWith
public ResolvedMemberImpl parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType, boolean isParameterized, List<String> aliases) Return a resolvedmember in which all the type variables in the signature have been replaced with the given bindings. The 'isParameterized' flag tells us whether we are creating a raw type version or not. if (isParameterized) then List<T> will turn into List<String> (for example) - if (!isParameterized) then List<T> will turn into List.- Angegeben von:
parameterizedWith
in SchnittstelleResolvedMember
-
parameterizedWith
Replace occurrences of type variables in the signature with values contained in the map. The map is of the form A=String,B=Integer and so a signature List<A> Foo.m(B i) {} would become List<String> Foo.m(Integer i) {}- Angegeben von:
parameterizedWith
in SchnittstelleResolvedMember
-
setTypeVariables
- Angegeben von:
setTypeVariables
in SchnittstelleResolvedMember
-
getTypeVariables
- Angegeben von:
getTypeVariables
in SchnittstelleResolvedMember
-
parameterize
protected UnresolvedType parameterize(UnresolvedType aType, Map<String, UnresolvedType> typeVariableMap, boolean inParameterizedType, World w) -
hasBackingGenericMember
public boolean hasBackingGenericMember()If this member is defined by a parameterized super-type, return the erasure of that member. For example: interface I<T> { T foo(T aTea); } class C implements I<String> { String foo(String aString) { return "something"; } } The resolved member for C.foo has signature String foo(String). The erasure of that member is Object foo(Object) -- use upper bound of type variable. A type is a supertype of itself.- Angegeben von:
hasBackingGenericMember
in SchnittstelleResolvedMember
-
getBackingGenericMember
- Angegeben von:
getBackingGenericMember
in SchnittstelleResolvedMember
-
resetName
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. -
resetKind
-
resetModifiers
public void resetModifiers(int newModifiers) -
resetReturnTypeToObjectArray
public void resetReturnTypeToObjectArray() -
matches
Returns true if this member matches the other. The matching takes into account name and parameter types only. When comparing parameter types, we allow any type variable to match any other type variable regardless of bounds.- Angegeben von:
matches
in SchnittstelleResolvedMember
-
getParameterSignatureErased
Return the erased form of the signature with bounds collapsed for type variables, etc. Does not include the return type, @see getParam- Angegeben von:
getParameterSignatureErased
in SchnittstelleResolvedMember
-
getSignatureErased
- Angegeben von:
getSignatureErased
in SchnittstelleResolvedMember
-
appendSigWithTypeVarBoundsRemoved
public static void appendSigWithTypeVarBoundsRemoved(UnresolvedType aType, StringBuffer toBuffer, Set<UnresolvedType> alreadyUsedTypeVars) -
toDebugString
Useful for writing tests, returns *everything* we know about this member.- Angegeben von:
toDebugString
in SchnittstelleResolvedMember
-
toGenericString
- Angegeben von:
toGenericString
in SchnittstelleResolvedMember
-
isCompatibleWith
- Angegeben von:
isCompatibleWith
in SchnittstelleResolvedMember
-
getTypeVariableNamed
- Angegeben von:
getTypeVariableNamed
in SchnittstelleTypeVariableDeclaringElement
-
evictWeavingState
public void evictWeavingState()- Angegeben von:
evictWeavingState
in SchnittstelleResolvedMember
-
isEquivalentTo
-
isDefaultConstructor
public boolean isDefaultConstructor()- Angegeben von:
isDefaultConstructor
in SchnittstelleResolvedMember
-