org.siebengeisslein.pclass.expression
Class DereferenceExpression
java.lang.Object
org.siebengeisslein.client.Persistent
org.siebengeisslein.pclass.expression.AbstractExpression
org.siebengeisslein.pclass.expression.DereferenceExpression
- All Implemented Interfaces:
- CommitConstrained, Instrumented, CodeFragment, Expression, ExpressionContainer
public class DereferenceExpression
- extends AbstractExpression
- implements ExpressionContainer
| 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 |
DereferenceExpression
public DereferenceExpression(ExpressionContainer parent)
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".
setDereferenced
public void setDereferenced(Expression dereferenced)
setExpression
public void setExpression(Expression expression)
getDereferenced
public Expression getDereferenced()
getExpression
public Expression getExpression()
replaceChild
public void replaceChild(Expression child,
Expression newChild)
- Specified by:
replaceChild in interface ExpressionContainer
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
removeChild
public void removeChild(Expression child)
- Specified by:
removeChild in interface ExpressionContainer
containsChild
public boolean containsChild(Expression expression)
- Specified by:
containsChild in interface ExpressionContainer
checkConstraints
public void checkConstraints()
throws ConstraintViolationException
- Specified by:
checkConstraints in interface CommitConstrained- Overrides:
checkConstraints in class AbstractExpression
- Throws:
ConstraintViolationException
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
onRemove
public void onRemove()
- Specified by:
onRemove in interface Expression- Overrides:
onRemove in class AbstractExpression