org.aspectj.ajdt.internal.compiler.lookup
Class EclipseResolvedMember

java.lang.Object
  extended by org.aspectj.weaver.MemberImpl
      extended by org.aspectj.weaver.ResolvedMemberImpl
          extended by org.aspectj.ajdt.internal.compiler.lookup.EclipseResolvedMember
All Implemented Interfaces:
java.lang.Comparable<Member>, AnnotatedElement, IHasPosition, Member, ResolvedMember, TypeVariableDeclaringElement

public class EclipseResolvedMember
extends ResolvedMemberImpl

In the pipeline world, we can be weaving before all types have come through from compilation. In some cases this means the weaver will want to ask questions of eclipse types and this subtype of ResolvedMemberImpl is here to answer some of those questions - it is backed by the real eclipse MethodBinding object and can translate from Eclipse -> Weaver information.


Field Summary
 
Fields inherited from class org.aspectj.weaver.ResolvedMemberImpl
annotations, annotationTypes, backingGenericMember, checkedExceptions, end, parameterAnnotations, parameterAnnotationTypes, showParameterNames, sourceContext, start, typeVariables
 
Fields inherited from class org.aspectj.weaver.MemberImpl
declaringType, kind, modifiers, name, parameterTypes, returnType
 
Fields inherited from interface org.aspectj.weaver.ResolvedMember
NONE
 
Fields inherited from interface org.aspectj.weaver.Member
ADVICE, CONSTRUCTOR, FIELD, HANDLER, METHOD, MONITORENTER, MONITOREXIT, NO_PARAMETER_ANNOTATION_TYPES, NO_PARAMETER_ANNOTATIONXS, POINTCUT, STATIC_INITIALIZATION
 
Constructor Summary
EclipseResolvedMember(FieldBinding binding, MemberKind field, ResolvedType realDeclaringType, int modifiers, ResolvedType type, java.lang.String string, UnresolvedType[] none)
           
EclipseResolvedMember(MethodBinding binding, MemberKind memberKind, ResolvedType realDeclaringType, int modifiers, UnresolvedType rettype, java.lang.String name, UnresolvedType[] paramtypes, UnresolvedType[] extypes, EclipseFactory eclipseFactory)
           
 
Method Summary
 java.lang.String getAnnotationDefaultValue()
           
 AnnotationAJ getAnnotationOfType(UnresolvedType ofType)
           
 AnnotationAJ[] getAnnotations()
           
 ResolvedType[] getAnnotationTypes()
           
 ResolvedType[][] getParameterAnnotationTypes()
           
 java.lang.String[] getParameterNames()
           
 boolean hasAnnotation(UnresolvedType ofType)
          Check if this member has an annotation of the specified type.
 boolean isDefaultConstructor()
          Return true if this is the default constructor.
 
Methods inherited from class org.aspectj.weaver.ResolvedMemberImpl
addAnnotation, appendSigWithTypeVarBoundsRemoved, evictWeavingState, getAssociatedShadowMunger, getBackingGenericMember, getEffectiveSignature, getEnd, getExceptions, getExceptions, getGenericParameterTypes, getGenericReturnType, getGenericSignature, getJoinPointSignatures, getModifiers, getModifiers, getParameterAnnotations, getParameterNames, getParameterSignatureErased, getSignatureErased, getSignatureForAttribute, getSourceContext, getSourceContext, getSourceLocation, getStart, getTypeVariableNamed, getTypeVariables, hasAnnotations, hasBackingGenericMember, isAbstract, isAjSynthetic, isAnnotatedElsewhere, isBridgeMethod, isCompatibleWith, isDefault, isEquivalentTo, isPublic, isSynthetic, isVarargsMethod, isVisible, matches, parameterize, parameterizedWith, parameterizedWith, parameterizedWith, readResolvedMember, readResolvedMemberArray, resetKind, resetModifiers, resetName, resetReturnTypeToObjectArray, resolve, setAjSynthetic, setAnnotatedElsewhere, setAnnotationTypes, setCheckedExceptions, setDeclaringType, setParameterNames, setPosition, setSourceContext, setTypeVariables, setVarargsMethod, toDebugString, toGenericString, write, writeArray
 
Methods inherited from class 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.aspectj.weaver.ResolvedMember
equalsApartFromDeclaringType
 
Methods inherited from interface org.aspectj.weaver.Member
canBeParameterized, compareTo, getArity, getDeclaringType, getDeclaringTypes, getJoinPointSignatures, getKind, getName, getParameterSignature, getParameterTypes, getReturnType, getSignature, getType
 

Constructor Detail

EclipseResolvedMember

public EclipseResolvedMember(MethodBinding binding,
                             MemberKind memberKind,
                             ResolvedType realDeclaringType,
                             int modifiers,
                             UnresolvedType rettype,
                             java.lang.String name,
                             UnresolvedType[] paramtypes,
                             UnresolvedType[] extypes,
                             EclipseFactory eclipseFactory)

EclipseResolvedMember

public EclipseResolvedMember(FieldBinding binding,
                             MemberKind field,
                             ResolvedType realDeclaringType,
                             int modifiers,
                             ResolvedType type,
                             java.lang.String string,
                             UnresolvedType[] none)
Method Detail

hasAnnotation

public boolean hasAnnotation(UnresolvedType ofType)
Description copied from class: ResolvedMemberImpl
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.

Specified by:
hasAnnotation in interface AnnotatedElement
Specified by:
hasAnnotation in interface ResolvedMember
Overrides:
hasAnnotation in class ResolvedMemberImpl
Parameters:
ofType - the type of the annotation being searched for
Returns:
true if the annotation is found on this member or its backing generic member

getAnnotations

public AnnotationAJ[] getAnnotations()
Specified by:
getAnnotations in interface Member
Specified by:
getAnnotations in interface ResolvedMember
Overrides:
getAnnotations in class ResolvedMemberImpl

getAnnotationOfType

public AnnotationAJ getAnnotationOfType(UnresolvedType ofType)
Specified by:
getAnnotationOfType in interface AnnotatedElement
Overrides:
getAnnotationOfType in class ResolvedMemberImpl

getAnnotationDefaultValue

public java.lang.String getAnnotationDefaultValue()
Specified by:
getAnnotationDefaultValue in interface ResolvedMember
Overrides:
getAnnotationDefaultValue in class ResolvedMemberImpl

getAnnotationTypes

public ResolvedType[] getAnnotationTypes()
Specified by:
getAnnotationTypes in interface AnnotatedElement
Specified by:
getAnnotationTypes in interface ResolvedMember
Overrides:
getAnnotationTypes in class ResolvedMemberImpl

getParameterAnnotationTypes

public ResolvedType[][] getParameterAnnotationTypes()
Specified by:
getParameterAnnotationTypes in interface ResolvedMember
Overrides:
getParameterAnnotationTypes in class ResolvedMemberImpl

getParameterNames

public java.lang.String[] getParameterNames()
Specified by:
getParameterNames in interface ResolvedMember
Overrides:
getParameterNames in class ResolvedMemberImpl

isDefaultConstructor

public boolean isDefaultConstructor()
Return true if this is the default constructor. The default constructor is the one generated if there isn't one in the source. Eclipse helpfully uses a bit to indicate the default constructor.

Specified by:
isDefaultConstructor in interface ResolvedMember
Overrides:
isDefaultConstructor in class ResolvedMemberImpl
Returns:
true if this is the default constructor.