org.aspectj.weaver.bcel
Class AspectInstanceVar

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.AspectInstanceVar

public class AspectInstanceVar
extends BcelVar

Used to represent a variable reference to an aspect instance. This is used to support the if pointcut usage of 'thisAspectInstance'. This variable does not have a slot, instead on requesting a reference we call aspectOf() on the aspect in question to retrieve it. For now it only works with singleton aspects.


Field Summary
 
Fields inherited from class org.aspectj.weaver.bcel.BcelVar
NONE
 
Constructor Summary
AspectInstanceVar(ResolvedType type)
           
 
Method Summary
 void appendLoad(InstructionList il, InstructionFactory fact)
           
 void appendLoadAndConvert(InstructionList il, InstructionFactory fact, ResolvedType toType)
           
 void appendStore(InstructionList il, InstructionFactory fact)
           
 InstructionList createCopyFrom(InstructionFactory fact, int oldSlot)
           
 Instruction createLoad(InstructionFactory fact)
           
 Instruction createStore(InstructionFactory fact)
           
 int getPositionInAroundState()
           
 void insertLoad(InstructionList il, InstructionFactory fact)
           
 void setPositionInAroundState(int positionInAroundState)
           
 
Methods inherited from class org.aspectj.weaver.bcel.BcelVar
getSlot, toString
 
Methods inherited from class org.aspectj.weaver.ast.Var
accept, getAccessorForValue, 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

AspectInstanceVar

public AspectInstanceVar(ResolvedType type)
Method Detail

createLoad

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

createStore

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

appendStore

public void appendStore(InstructionList il,
                        InstructionFactory fact)
Overrides:
appendStore 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

createCopyFrom

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

getPositionInAroundState

public int getPositionInAroundState()
Overrides:
getPositionInAroundState in class BcelVar

setPositionInAroundState

public void setPositionInAroundState(int positionInAroundState)
Overrides:
setPositionInAroundState in class BcelVar