org.siebengeisslein.pclass.expression
Class AbstractInvocationExpression

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.expression.AbstractExpression
          extended by org.siebengeisslein.pclass.expression.AbstractInvocationExpression
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, Expression, ExpressionContainer
Direct Known Subclasses:
ConstructorInvocation, MethodInvocation, SuperConstructorInvocation

public abstract class AbstractInvocationExpression
extends AbstractExpression
implements ExpressionContainer


Constructor Summary
AbstractInvocationExpression(ExpressionContainer parent)
           
 
Method Summary
 void checkConstraints()
           
 boolean containsChild(Expression expression)
           
protected  java.util.List<PType> createParams()
           
abstract  java.lang.String getMethodName()
           
 java.util.List<Expression> getParameters()
           
 void onRemove()
           
 void removeChild(Expression child)
           
 void replaceChild(Expression child, Expression newChild)
           
 void setParameters(java.util.List<Expression> parameters)
           
protected  void visitLoadParameters(PClass clazz, org.objectweb.asm.MethodVisitor mv, Frame frame)
           
 
Methods inherited from class org.siebengeisslein.pclass.expression.AbstractExpression
getContainer, getDataDirectory, getOwnerClass, getOwnerMethod, getTypeManager, getVariableManager, isAssignable, loadClass, replaceWith, setContainer, toString, visitAssignTo
 
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
 
Methods inherited from interface org.siebengeisslein.pclass.expression.ExpressionContainer
getDataDirectory, getOwnerClass, getOwnerMethod, getVariableManager
 
Methods inherited from interface org.siebengeisslein.pclass.expression.Expression
getResultType, toString, visit
 

Constructor Detail

AbstractInvocationExpression

public AbstractInvocationExpression(ExpressionContainer parent)
Method Detail

getMethodName

public abstract java.lang.String getMethodName()

getParameters

public java.util.List<Expression> getParameters()

setParameters

public void setParameters(java.util.List<Expression> parameters)

replaceChild

public void replaceChild(Expression child,
                         Expression newChild)
Specified by:
replaceChild in interface ExpressionContainer

containsChild

public boolean containsChild(Expression expression)
Specified by:
containsChild in interface ExpressionContainer

removeChild

public void removeChild(Expression child)
Specified by:
removeChild in interface ExpressionContainer

createParams

protected java.util.List<PType> createParams()

visitLoadParameters

protected void visitLoadParameters(PClass clazz,
                                   org.objectweb.asm.MethodVisitor mv,
                                   Frame frame)

checkConstraints

public void checkConstraints()
                      throws ConstraintViolationException
Specified by:
checkConstraints in interface CommitConstrained
Overrides:
checkConstraints in class AbstractExpression
Throws:
ConstraintViolationException

onRemove

public void onRemove()
Specified by:
onRemove in interface Expression
Overrides:
onRemove in class AbstractExpression