org.siebengeisslein.pclass.expression
Class VariableExpression
java.lang.Object
org.siebengeisslein.client.Persistent
org.siebengeisslein.pclass.expression.AbstractExpression
org.siebengeisslein.pclass.expression.VariableExpression
- All Implemented Interfaces:
- CommitConstrained, Instrumented, CodeFragment, ErrorItem, Expression, HasVariable
public class VariableExpression
- extends AbstractExpression
- implements HasVariable, ErrorItem
| Methods inherited from class org.siebengeisslein.pclass.expression.AbstractExpression |
checkConstraints, getContainer, getDataDirectory, getOwnerClass, getOwnerMethod, getTypeManager, getVariableManager, loadClass, replaceWith, setContainer, toString |
| Methods inherited from class org.siebengeisslein.client.Persistent |
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, hashCode, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
VariableExpression
public VariableExpression(ExpressionContainer container)
VariableExpression
public VariableExpression(CastExpression ce,
Variable variable)
VariableExpression
public VariableExpression(ExpressionContainer container,
Variable var)
getVariable
public Variable getVariable()
- Specified by:
getVariable in interface HasVariable
setVariable
public void setVariable(Variable variable)
- Specified by:
setVariable in interface HasVariable
onVariableUpdate
public void onVariableUpdate()
onRemove
public void onRemove()
- Specified by:
onRemove in interface Expression- Overrides:
onRemove in class AbstractExpression
isDeclaration
public boolean isDeclaration()
- Specified by:
isDeclaration in interface HasVariable
visit
public void visit(org.objectweb.asm.MethodVisitor mv,
Frame frame,
PClass clazz,
boolean forAssignment)
- Specified by:
visit in interface Expression
forAssignment - This indicates that the expression is evaluated
to be assigned a value. In this case the last element should not be
evaluated (e.g. obj.name should only push obj onto the stack, but
to the value of "name".
getResultType
public PType getResultType()
- Specified by:
getResultType in interface Expression
toString
public java.lang.String toString(java.lang.String indent)
- Specified by:
toString in interface Expression
getContext
public java.lang.Object getContext()
- Specified by:
getContext in interface ErrorItem
getLevel
public Level getLevel()
- Specified by:
getLevel in interface ErrorItem
getMessage
public java.lang.String getMessage()
- Specified by:
getMessage in interface ErrorItem
isAssignable
public boolean isAssignable()
- Specified by:
isAssignable in interface Expression- Overrides:
isAssignable in class AbstractExpression
visitAssignTo
public void visitAssignTo(org.objectweb.asm.MethodVisitor mv,
Frame frame,
PClass clazz)
- Specified by:
visitAssignTo in interface Expression- Overrides:
visitAssignTo in class AbstractExpression