net.sf.jexpel.internal.expr.arithmetic
Class SubtractionExpression

java.lang.Object
  extended by net.sf.jexpel.internal.expr.BinaryExpression
      extended by net.sf.jexpel.internal.expr.arithmetic.SubtractionExpression
All Implemented Interfaces:
Expression, Compilable, MessageCodes, org.objectweb.asm.Opcodes

public class SubtractionExpression
extends BinaryExpression


Field Summary
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Fields inherited from interface net.sf.jexpel.messages.MessageCodes
ARRAY_ACCESS, C_NOT_FOUND, COND_TYPES, CONDITIONAL, CONSTANT, EXPECTED, INVALID, INVALID_ARG, LBRA_WO_RBRA, LPAR_WO_RPAR, M_NOT_FOUND, NEAR_TOKEN, NO_ARRAY, PROP_RO, PROP_WO, READ_ONLY
 
Constructor Summary
SubtractionExpression(Expression exp1, Expression exp2)
           
 
Method Summary
 void calculeGet(java.util.List<java.lang.String> objects)
           
 void compileGet(org.objectweb.asm.MethodVisitor mv)
           
 java.lang.Object get(java.lang.Object scope)
          Executes the expression and returns its value
 
Methods inherited from class net.sf.jexpel.internal.expr.BinaryExpression
calculeSet, compileSet, getType, isConstant, set, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SubtractionExpression

public SubtractionExpression(Expression exp1,
                             Expression exp2)
                      throws ExpressionException
Throws:
ExpressionException
Method Detail

get

public java.lang.Object get(java.lang.Object scope)
                     throws java.lang.Exception
Description copied from interface: Expression
Executes the expression and returns its value

Parameters:
scope - the object where the expression will be executed
Returns:
the result
Throws:
java.lang.Exception - all exceptions. No exceptions are treated for better performance.

compileGet

public void compileGet(org.objectweb.asm.MethodVisitor mv)
                throws java.lang.Exception
Throws:
java.lang.Exception

calculeGet

public void calculeGet(java.util.List<java.lang.String> objects)
                throws java.lang.Exception
Specified by:
calculeGet in interface Compilable
Overrides:
calculeGet in class BinaryExpression
Throws:
java.lang.Exception