org.jboss.byteman.agent
Class Location.VariableAccessLocation

java.lang.Object
  extended by org.jboss.byteman.agent.Location
      extended by org.jboss.byteman.agent.Location.AccessLocation
          extended by org.jboss.byteman.agent.Location.VariableAccessLocation
Enclosing class:
Location

private static class Location.VariableAccessLocation
extends Location.AccessLocation

location identifying a variable access trigger point


Field Summary
private  boolean isIndex
          flag which is true if the name is a method parameter index such as $0, $1 etc otherwise false
private  java.lang.String variableName
          the name of the variable being accessed at the point where the trigger point should be inserted
 
Fields inherited from class org.jboss.byteman.agent.Location.AccessLocation
count, flags, whenComplete
 
Fields inherited from class org.jboss.byteman.agent.Location
ACCESS_READ, ACCESS_WRITE
 
Constructor Summary
protected Location.VariableAccessLocation(java.lang.String variablename, int count, int flags, boolean whenComplete)
          construct a location identifying a variable read trigger point
 
Method Summary
 LocationType getLocationType()
          identify the type of this location
 RuleTriggerAdapter getRuleAdapter(ClassVisitor cv, TransformContext transformContext)
          return an adapter which can be used to insert a trigger call in a method containing a trigger point whose position matches this location
 RuleCheckAdapter getRuleCheckAdapter(ClassVisitor cv, TransformContext transformContext)
          return an adapter which can be used to check whether a method contains a trigger point whose position matches this location
 java.lang.String toString()
           
 
Methods inherited from class org.jboss.byteman.agent.Location.AccessLocation
create
 
Methods inherited from class org.jboss.byteman.agent.Location
create
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

variableName

private java.lang.String variableName
the name of the variable being accessed at the point where the trigger point should be inserted


isIndex

private boolean isIndex
flag which is true if the name is a method parameter index such as $0, $1 etc otherwise false

Constructor Detail

Location.VariableAccessLocation

protected Location.VariableAccessLocation(java.lang.String variablename,
                                          int count,
                                          int flags,
                                          boolean whenComplete)
construct a location identifying a variable read trigger point

Parameters:
typeName - the name of the class owning the field
variablename - the name of the variable being read
count - count identifying which access should be taken as the trigger point
flags - bit field comprising one or other of flags ACCESS_READ and ACCESS_WRITE identifying whether this specifies field READ or WRITE operations
whenComplete - false if the trigger should be inserted before the access is performed and true if it should be inserted after
Method Detail

getRuleCheckAdapter

public RuleCheckAdapter getRuleCheckAdapter(ClassVisitor cv,
                                            TransformContext transformContext)
return an adapter which can be used to check whether a method contains a trigger point whose position matches this location

Specified by:
getRuleCheckAdapter in class Location
Returns:
the required adapter

getRuleAdapter

public RuleTriggerAdapter getRuleAdapter(ClassVisitor cv,
                                         TransformContext transformContext)
return an adapter which can be used to insert a trigger call in a method containing a trigger point whose position matches this location

Specified by:
getRuleAdapter in class Location
Returns:
the required adapter

getLocationType

public LocationType getLocationType()
Description copied from class: Location
identify the type of this location

Overrides:
getLocationType in class Location.AccessLocation
Returns:
the type of this location

toString

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