org.aspectj.weaver.bcel
Class AnnotationAccessVar

java.lang.Object
  extended by org.aspectj.weaver.ast.ASTNode
      extended by org.aspectj.weaver.ast.Expr
          extended by org.aspectj.weaver.ast.Var
              extended by org.aspectj.weaver.bcel.BcelVar
                  extended by org.aspectj.weaver.bcel.AnnotationAccessVar

public class AnnotationAccessVar
extends BcelVar

Represents access to an annotation on an element, relating to some kinded pointcut. Depending on the kind of pointcut the element might be a field or a method and the code generators in here can retrieve the annotation from the element.


Field Summary
 
Fields inherited from class org.aspectj.weaver.bcel.BcelVar
NONE
 
Constructor Summary
AnnotationAccessVar(BcelShadow shadow, Shadow.Kind kind, ResolvedType annotationType, UnresolvedType theTargetIsStoredHere, Member sig, boolean isWithin)
           
 
Method Summary
 void appendLoad(InstructionList il, InstructionFactory fact)
           
 void appendLoadAndConvert(InstructionList il, InstructionFactory fact, ResolvedType toType)
           
 InstructionList createCopyFrom(InstructionFactory fact, int oldSlot)
           
 Instruction createLoad(InstructionFactory fact)
           
 Instruction createStore(InstructionFactory fact)
           
 Var getAccessorForValue(ResolvedType valueType, java.lang.String formalName)
          Return an object that can access a particular value of this annotation.
 Shadow.Kind getKind()
           
 Member getMember()
           
 void insertLoad(InstructionList il, InstructionFactory fact)
           
 java.lang.String toString()
           
 
Methods inherited from class org.aspectj.weaver.bcel.BcelVar
appendStore, getPositionInAroundState, getSlot, setPositionInAroundState
 
Methods inherited from class org.aspectj.weaver.ast.Var
accept, getType
 
Methods inherited from class org.aspectj.weaver.ast.Expr
makeCallExpr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AnnotationAccessVar

public AnnotationAccessVar(BcelShadow shadow,
                           Shadow.Kind kind,
                           ResolvedType annotationType,
                           UnresolvedType theTargetIsStoredHere,
                           Member sig,
                           boolean isWithin)
Method Detail

getKind

public Shadow.Kind getKind()

toString

public java.lang.String toString()
Overrides:
toString in class BcelVar

createLoad

public Instruction createLoad(InstructionFactory fact)
Overrides:
createLoad in class BcelVar

createStore

public Instruction createStore(InstructionFactory fact)
Overrides:
createStore in class BcelVar

createCopyFrom

public InstructionList createCopyFrom(InstructionFactory fact,
                                      int oldSlot)
Overrides:
createCopyFrom in class BcelVar

appendLoad

public void appendLoad(InstructionList il,
                       InstructionFactory fact)
Overrides:
appendLoad in class BcelVar

appendLoadAndConvert

public void appendLoadAndConvert(InstructionList il,
                                 InstructionFactory fact,
                                 ResolvedType toType)
Overrides:
appendLoadAndConvert in class BcelVar

insertLoad

public void insertLoad(InstructionList il,
                       InstructionFactory fact)
Overrides:
insertLoad in class BcelVar

getMember

public Member getMember()

getAccessorForValue

public Var getAccessorForValue(ResolvedType valueType,
                               java.lang.String formalName)
Return an object that can access a particular value of this annotation.

Overrides:
getAccessorForValue in class Var
Parameters:
valueType - The type from the annotation that is of interest
the - formal name expressed in the pointcut, can be used to disambiguate
Returns:
a variable that represents access to that annotation value