org.siebengeisslein.pclass.expression
Class AbstractExpression

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.expression.AbstractExpression
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, Expression
Direct Known Subclasses:
AbstractInvocationExpression, AbstractLiteral, BinaryOperator, CastExpression, ClassExpression, DereferenceExpression, NullExpression, OperandFilterExpression, ParenthesisExpression, QueryExpression, TableExpression, UnknownExpression, VariableExpression

public abstract class AbstractExpression
extends Persistent
implements Expression, CommitConstrained


Constructor Summary
AbstractExpression(ExpressionContainer parent)
           
 
Method Summary
 void checkConstraints()
           
 ExpressionContainer getContainer()
           
 DataDirectory getDataDirectory()
           
 PClass getOwnerClass()
           
 PMethod getOwnerMethod()
           
 TypeManager getTypeManager()
           
 AbstractModifieableVariableManager getVariableManager()
           
 boolean isAssignable()
           
 java.lang.Class loadClass(PType type)
           
 void onRemove()
           
 void replaceWith(Expression expression)
           
 void setContainer(ExpressionContainer parent)
           
 java.lang.String toString()
           
 void visitAssignTo(org.objectweb.asm.MethodVisitor mv, Frame frame, PClass clazz)
           
 
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.Expression
getResultType, toString, visit
 

Constructor Detail

AbstractExpression

public AbstractExpression(ExpressionContainer parent)
Method Detail

getDataDirectory

public DataDirectory getDataDirectory()

replaceWith

public void replaceWith(Expression expression)
Specified by:
replaceWith in interface Expression

getContainer

public ExpressionContainer getContainer()
Specified by:
getContainer in interface Expression

setContainer

public void setContainer(ExpressionContainer parent)
Specified by:
setContainer in interface Expression

getVariableManager

public AbstractModifieableVariableManager getVariableManager()
Specified by:
getVariableManager in interface Expression

getTypeManager

public TypeManager getTypeManager()

loadClass

public java.lang.Class loadClass(PType type)
                          throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getOwnerClass

public PClass getOwnerClass()

getOwnerMethod

public PMethod getOwnerMethod()

toString

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

checkConstraints

public void checkConstraints()
Specified by:
checkConstraints in interface CommitConstrained

isAssignable

public boolean isAssignable()
Specified by:
isAssignable in interface Expression

visitAssignTo

public void visitAssignTo(org.objectweb.asm.MethodVisitor mv,
                          Frame frame,
                          PClass clazz)
Specified by:
visitAssignTo in interface Expression

onRemove

public void onRemove()
Specified by:
onRemove in interface Expression