org.siebengeisslein.pclass
Class Declaration

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.AbstractStatement
          extended by org.siebengeisslein.pclass.Declaration
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, ExpressionContainer, HasVariable, Statement

public class Declaration
extends AbstractStatement
implements HasVariable, ExpressionContainer


Constructor Summary
Declaration(BlockStatement parent)
           
 
Method Summary
 void checkConstraints()
           
 boolean containsChild(Expression expression)
           
 Expression getInitializationExpression()
           
 PType getResultType()
           
 Variable getVariable()
           
 boolean isDeclaration()
           
 void onRemove()
           
 void removeChild(Expression child)
           
 void replaceChild(Expression child, Expression newChild)
           
 void setInitializationExpression(Expression initializationExpression)
           
 void setVariable(Variable var)
           
 java.lang.String toString(java.lang.String indent)
           
 void visit(PClass clazz, org.objectweb.asm.MethodVisitor mv, Frame frame)
           
 
Methods inherited from class org.siebengeisslein.pclass.AbstractStatement
getDataDirectory, getMethod, getNext, getOwnerClass, getOwnerMethod, getParent, getPrev, getTypeManager, getVariableManager, loadClass, 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
 
Methods inherited from interface org.siebengeisslein.pclass.HasVariable
getTypeManager, getVariableManager
 
Methods inherited from interface org.siebengeisslein.pclass.expression.ExpressionContainer
getDataDirectory, getOwnerClass, getOwnerMethod, getVariableManager
 

Constructor Detail

Declaration

public Declaration(BlockStatement parent)
Method Detail

visit

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

getInitializationExpression

public Expression getInitializationExpression()

setInitializationExpression

public void setInitializationExpression(Expression initializationExpression)

getVariable

public Variable getVariable()
Specified by:
getVariable in interface HasVariable

setVariable

public void setVariable(Variable var)
Specified by:
setVariable in interface HasVariable

isDeclaration

public boolean isDeclaration()
Specified by:
isDeclaration in interface HasVariable

getResultType

public PType getResultType()

replaceChild

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

toString

public java.lang.String toString(java.lang.String indent)
Specified by:
toString in interface Statement

onRemove

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

containsChild

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

removeChild

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

checkConstraints

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