Top Description Fields Constructors Methods
org.aspectj.weaver.bcel

public Class AnnotationAccessVar

extends BcelVar
Class Inheritance
Imports
org.aspectj.apache.bcel.Constants, org.aspectj.apache.bcel.classfile.Field, org.aspectj.apache.bcel.generic.Instruction, .InstructionBranch, .InstructionConstants, .InstructionFactory, .InstructionHandle, .InstructionList, .ObjectType, .Type, org.aspectj.weaver.Member, .ResolvedType, .Shadow, .Shadow.Kind, .UnresolvedType, org.aspectj.weaver.ast.Var

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

Modifier and TypeField and Description
private UnresolvedType
private boolean
private Shadow.Kind
private Member
private BcelShadow
Inherited from org.aspectj.weaver.bcel.BcelVar:
NONE

Constructor Summary

AccessConstructor and Description
public
AnnotationAccessVar(BcelShadow shadow, Shadow.Kind kind, ResolvedType annotationType, UnresolvedType theTargetIsStoredHere, Member sig, boolean isWithin)

Method Summary

Modifier and TypeMethod and Description
public void
public void
private void
buildArray(InstructionList il, InstructionFactory fact, Type arrayElementType, Type[] arrayEntries, int dim)

public InstructionList
public Instruction
private InstructionList
public Instruction
private void
generateBytecodeToAccessAnnotationAtFieldGetSetShadow(ResolvedType toType, InstructionFactory fact, InstructionList il, Instruction pushConstantAnnotationType)

At a FieldGet or FieldSet shadow, generate the bytecode to access the annotation for that field.

public Var

Returns:

a variable that represents access to that annotation value
getAccessorForValue
(ResolvedType
The type from the annotation that is of interest
valueType
,
String
the formal name expressed in the pointcut, can be used to disambiguate
formalName
)

Overrides org.aspectj.weaver.ast.Var.getAccessorForValue.

Return an object that can access a particular value of this annotation.
public Shadow.Kind
public Member
public void
public String
toString()

Overrides org.aspectj.weaver.bcel.BcelVar.toString.

Returns a string representation of the object.
Inherited from org.aspectj.weaver.bcel.BcelVar:
appendConvertableArrayLoadappendConvertableArrayStoreappendStorecreateConvertableArrayLoadcreateConvertableArrayStoregetPositionInAroundStategetSlotsetPositionInAroundState

Field Detail

containingTypeback to summary
private UnresolvedType containingType
isWithinback to summary
private boolean isWithin
kindback to summary
private Shadow.Kind kind
memberback to summary
private Member member
shadowback to summary
private BcelShadow shadow

Constructor Detail

AnnotationAccessVarback to summary
public AnnotationAccessVar(BcelShadow shadow, Shadow.Kind kind, ResolvedType annotationType, UnresolvedType theTargetIsStoredHere, Member sig, boolean isWithin)

Method Detail

appendLoadback to summary
public void appendLoad(InstructionList il, InstructionFactory fact)

Overrides org.aspectj.weaver.bcel.BcelVar.appendLoad.

Annotations
@Override
appendLoadAndConvertback to summary
public void appendLoadAndConvert(InstructionList il, InstructionFactory fact, ResolvedType toType)

Overrides org.aspectj.weaver.bcel.BcelVar.appendLoadAndConvert.

Annotations
@Override
buildArrayback to summary
private void buildArray(InstructionList il, InstructionFactory fact, Type arrayElementType, Type[] arrayEntries, int dim)
createCopyFromback to summary
public InstructionList createCopyFrom(InstructionFactory fact, int oldSlot)

Overrides org.aspectj.weaver.bcel.BcelVar.createCopyFrom.

Annotations
@Override
createLoadback to summary
public Instruction createLoad(InstructionFactory fact)

Overrides org.aspectj.weaver.bcel.BcelVar.createLoad.

Annotations
@Override
createLoadInstructionsback to summary
private InstructionList createLoadInstructions(ResolvedType toType, InstructionFactory fact)
createStoreback to summary
public Instruction createStore(InstructionFactory fact)

Overrides org.aspectj.weaver.bcel.BcelVar.createStore.

Annotations
@Override
generateBytecodeToAccessAnnotationAtFieldGetSetShadowback to summary
private void generateBytecodeToAccessAnnotationAtFieldGetSetShadow(ResolvedType toType, InstructionFactory fact, InstructionList il, Instruction pushConstantAnnotationType)

At a FieldGet or FieldSet shadow, generate the bytecode to access the annotation for that field. The annotation is cached so the code checks that cached value before proceeding.

getAccessorForValueback to summary
public Var getAccessorForValue(ResolvedType valueType, String formalName)

Overrides org.aspectj.weaver.ast.Var.getAccessorForValue.

Return an object that can access a particular value of this annotation.

Parameters
valueType:ResolvedType

The type from the annotation that is of interest

formalName:String

the formal name expressed in the pointcut, can be used to disambiguate

Returns:Var

a variable that represents access to that annotation value

Annotations
@Override
getKindback to summary
public Shadow.Kind getKind()
getMemberback to summary
public Member getMember()
insertLoadback to summary
public void insertLoad(InstructionList il, InstructionFactory fact)

Overrides org.aspectj.weaver.bcel.BcelVar.insertLoad.

Annotations
@Override
toStringback to summary
public String toString()

Overrides org.aspectj.weaver.bcel.BcelVar.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override