Package org.jboss.byteman.rule.binding
Class Binding
- java.lang.Object
-
- org.jboss.byteman.rule.RuleElement
-
- org.jboss.byteman.rule.binding.Binding
-
public class Binding extends RuleElement
Class used to store a binding of a named variable to a value of some given type
-
-
Field Summary
Fields Modifier and Type Field Description private Binding
alias
private static int
BIND_VAR
private int
callArrayIndex
private java.lang.String
descriptor
(package private) boolean
doCheckCast
private static int
HELPER
private int
index
private static int
INVOKE_PARAM_ARRAY_VAR
private static int
LOCAL_VAR
private int
localIndex
private java.lang.String
name
private static int
PARAM_ARRAY_VAR
private static int
PARAM_COUNT_VAR
private static int
RETURN_VAR
private static int
THROWABLE_VAR
private Type
type
(package private) boolean
updated
private Expression
value
-
Fields inherited from class org.jboss.byteman.rule.RuleElement
rule
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
aliasTo(Binding alias)
void
compile(org.objectweb.asm.MethodVisitor mv, CompileContext compileContext)
Binding
getAlias()
int
getCallArrayIndex()
java.lang.String
getDescriptor()
int
getIndex()
java.lang.String
getIVarName()
int
getLocalIndex()
java.lang.String
getName()
Type
getType()
Expression
getValue()
java.lang.Object
interpret(HelperAdapter helper)
boolean
isAlias()
boolean
isBindVar()
boolean
isHelper()
boolean
isInvokeParamArray()
boolean
isLocalVar()
boolean
isNewClass()
boolean
isParam()
boolean
isParamArray()
boolean
isParamCount()
boolean
isRecipient()
boolean
isReturn()
boolean
isThrowable()
boolean
isTriggerClass()
boolean
isTriggerMethod()
boolean
isUpdated()
record that this binding occurs on the LHS of an assignmentprivate void
resolveUnknownAgainstDerived(Type derived)
void
setCallArrayIndex(int callArrayIndex)
void
setDescriptor(java.lang.String desc)
void
setLocalIndex(int localIndex)
void
setType(Type type)
void
setUpdated()
record that this binding occurs on the LHS of an assignmentExpression
setValue(Expression value)
Type
typeCheck(Type expected)
void
writeTo(java.io.StringWriter stringWriter)
-
Methods inherited from class org.jboss.byteman.rule.RuleElement
getBindings, getTypeGroup, rebox, toString
-
-
-
-
Field Detail
-
HELPER
private static final int HELPER
- See Also:
- Constant Field Values
-
BIND_VAR
private static final int BIND_VAR
- See Also:
- Constant Field Values
-
LOCAL_VAR
private static final int LOCAL_VAR
- See Also:
- Constant Field Values
-
RETURN_VAR
private static final int RETURN_VAR
- See Also:
- Constant Field Values
-
THROWABLE_VAR
private static final int THROWABLE_VAR
- See Also:
- Constant Field Values
-
PARAM_COUNT_VAR
private static final int PARAM_COUNT_VAR
- See Also:
- Constant Field Values
-
PARAM_ARRAY_VAR
private static final int PARAM_ARRAY_VAR
- See Also:
- Constant Field Values
-
INVOKE_PARAM_ARRAY_VAR
private static final int INVOKE_PARAM_ARRAY_VAR
- See Also:
- Constant Field Values
-
name
private java.lang.String name
-
descriptor
private java.lang.String descriptor
-
type
private Type type
-
value
private Expression value
-
index
private int index
-
callArrayIndex
private int callArrayIndex
-
localIndex
private int localIndex
-
alias
private Binding alias
-
updated
boolean updated
-
doCheckCast
boolean doCheckCast
-
-
Method Detail
-
typeCheck
public Type typeCheck(Type expected) throws TypeException
- Specified by:
typeCheck
in classRuleElement
- Throws:
TypeException
-
resolveUnknownAgainstDerived
private void resolveUnknownAgainstDerived(Type derived) throws TypeException
- Throws:
TypeException
-
interpret
public java.lang.Object interpret(HelperAdapter helper) throws ExecuteException
- Specified by:
interpret
in classRuleElement
- Throws:
ExecuteException
-
compile
public void compile(org.objectweb.asm.MethodVisitor mv, CompileContext compileContext) throws CompileException
- Specified by:
compile
in classRuleElement
- Throws:
CompileException
-
getName
public java.lang.String getName()
-
getIVarName
public java.lang.String getIVarName()
-
getValue
public Expression getValue()
-
setValue
public Expression setValue(Expression value)
-
getType
public Type getType()
-
setType
public void setType(Type type)
-
getCallArrayIndex
public int getCallArrayIndex()
-
setCallArrayIndex
public void setCallArrayIndex(int callArrayIndex)
-
getLocalIndex
public int getLocalIndex()
-
setLocalIndex
public void setLocalIndex(int localIndex)
-
isParam
public boolean isParam()
-
isRecipient
public boolean isRecipient()
-
isHelper
public boolean isHelper()
-
isBindVar
public boolean isBindVar()
-
isLocalVar
public boolean isLocalVar()
-
isReturn
public boolean isReturn()
-
isThrowable
public boolean isThrowable()
-
isParamCount
public boolean isParamCount()
-
isParamArray
public boolean isParamArray()
-
isInvokeParamArray
public boolean isInvokeParamArray()
-
isTriggerClass
public boolean isTriggerClass()
-
isTriggerMethod
public boolean isTriggerMethod()
-
isNewClass
public boolean isNewClass()
-
getIndex
public int getIndex()
-
getDescriptor
public java.lang.String getDescriptor()
-
setDescriptor
public void setDescriptor(java.lang.String desc)
-
setUpdated
public void setUpdated()
record that this binding occurs on the LHS of an assignment
-
isUpdated
public boolean isUpdated()
record that this binding occurs on the LHS of an assignment- Returns:
- true if this binding occurs on the LHS
-
writeTo
public void writeTo(java.io.StringWriter stringWriter)
- Specified by:
writeTo
in classRuleElement
-
aliasTo
public void aliasTo(Binding alias)
-
isAlias
public boolean isAlias()
-
getAlias
public Binding getAlias()
-
-