org.siebengeisslein.pclass.expression
Class AbstractLiteral

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.expression.AbstractExpression
          extended by org.siebengeisslein.pclass.expression.AbstractLiteral
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, Expression
Direct Known Subclasses:
BooleanLiteral, ByteLiteral, CharLiteral, DoubleLiteral, FloatLiteral, IntLiteral, LongLiteral, ShortLiteral, StringLiteral

public abstract class AbstractLiteral
extends AbstractExpression


Constructor Summary
AbstractLiteral(ExpressionContainer parent, PType type)
           
AbstractLiteral(ExpressionContainer parent, PType type, java.lang.String value)
           
 
Method Summary
 PType getResultType()
           
 java.lang.String getValue()
           
abstract  java.lang.Object getValue(java.lang.String value)
           
 void setValue(java.lang.String value)
           
 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.expression.Expression
toString
 

Constructor Detail

AbstractLiteral

public AbstractLiteral(ExpressionContainer parent,
                       PType type)

AbstractLiteral

public AbstractLiteral(ExpressionContainer parent,
                       PType type,
                       java.lang.String value)
Method Detail

getValue

public abstract java.lang.Object getValue(java.lang.String value)

getValue

public java.lang.String getValue()

setValue

public void setValue(java.lang.String value)

visit

public void visit(org.objectweb.asm.MethodVisitor mv,
                  Frame frame,
                  PClass clazz,
                  boolean forAssignment)
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()