org.siebengeisslein.pclass.expression
Class ClassExpression

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.expression.AbstractExpression
          extended by org.siebengeisslein.pclass.expression.ClassExpression
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, Expression, HasType

public class ClassExpression
extends AbstractExpression
implements HasType


Constructor Summary
ClassExpression(ExpressionContainer parent)
           
 
Method Summary
 PType getResultType()
           
 PType getType()
           
 void setType(PType type)
           
 java.lang.String toString(java.lang.String indent)
           
 void visit(org.objectweb.asm.MethodVisitor mv, Frame frame, PClass clazz, boolean forAssignment)
           
 
Methods inherited from class org.siebengeisslein.pclass.expression.AbstractExpression
checkConstraints, getContainer, getDataDirectory, getOwnerClass, getOwnerMethod, getTypeManager, getVariableManager, isAssignable, loadClass, onRemove, 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.HasType
getTypeManager
 

Constructor Detail

ClassExpression

public ClassExpression(ExpressionContainer parent)
Method Detail

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

setType

public void setType(PType type)
Specified by:
setType in interface HasType

toString

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

getType

public PType getType()
Specified by:
getType in interface HasType