You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2006/02/14 07:04:59 UTC
svn commit: r377636 -
/jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java
Author: dion
Date: Mon Feb 13 22:04:58 2006
New Revision: 377636
URL: http://svn.apache.org/viewcvs?rev=377636&view=rev
Log:
Add support for Byte, Short, Long, Float and Double to UnaryMinus operation.
Integer was previously the only one supported.
Modified:
jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java
Modified: jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java?rev=377636&r1=377635&r2=377636&view=diff
==============================================================================
--- jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java (original)
+++ jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/parser/ASTUnaryMinusNode.java Mon Feb 13 22:04:58 2006
@@ -47,11 +47,37 @@
{
Object val = ((SimpleNode) jjtGetChild(0)).value(jc);
- if (val instanceof Integer)
+ if (val instanceof Byte)
{
- return new Integer(- ( ((Integer) val).intValue() ) );
+ byte valueAsByte = ((Byte) val).byteValue();
+ return new Byte((byte) -valueAsByte);
+ }
+ else if (val instanceof Short)
+ {
+ short valueAsShort = ((Short) val).shortValue();
+ return new Short((short) -valueAsShort);
+ }
+ else if (val instanceof Integer)
+ {
+ int valueAsInt = ((Integer) val).intValue();
+ return new Integer(-valueAsInt);
+ }
+ else if (val instanceof Long)
+ {
+ long valueAsLong = ((Long) val).longValue();
+ return new Long(-valueAsLong);
+ }
+ else if (val instanceof Float)
+ {
+ float valueAsFloat = ((Float) val).floatValue();
+ return new Float( -valueAsFloat );
+ }
+ else if (val instanceof Double)
+ {
+ double valueAsDouble = ((Double) val).doubleValue();
+ return new Double( -valueAsDouble );
}
- throw new Exception("expression not integer valued");
+ throw new Exception("expression not a number");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org