Author: markt
Date: Wed Apr 16 00:38:37 2008
New Revision: 648585
URL: http://svn.apache.org/viewvc?rev=648585&view=rev
Log:
Clean up type checking code. Patch provided by Konstantin Kolinko.
Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELArithmetic.java
tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java
tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstNegative.java
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=648585&r1=648584&r2=648585&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Apr 16 00:38:37 2008
@@ -82,11 +82,6 @@
+1: jfclere, rjung, fhanik, remm
-1:
-* Clean up type checking code. Patch provided by Konstantin Kolinko.
- http://svn.apache.org/viewvc?rev=646571&view=rev
- +1: markt, remm, pero
- -1:
-
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=44428
Prevent NPE
http://svn.apache.org/viewvc?rev=646574&view=rev
Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELArithmetic.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELArithmetic.java?rev=648585&r1=648584&r2=648585&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELArithmetic.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELArithmetic.java Wed Apr 16
00:38:37 2008
@@ -164,8 +164,6 @@
|| obj1 instanceof Double
|| obj0 instanceof Float
|| obj1 instanceof Float
- || (obj0 != null && (Double.TYPE == obj0.getClass() ||
Float.TYPE == obj0.getClass()))
- || (obj1 != null && (Double.TYPE == obj1.getClass() ||
Float.TYPE == obj1.getClass()))
|| (obj0 instanceof String && ELSupport
.isStringFloat((String) obj0)) || (obj1 instanceof
String && ELSupport
.isStringFloat((String) obj1)));
@@ -359,13 +357,12 @@
return coerce(ZERO);
}
- Class objType = obj.getClass();
- if (Character.class.equals(objType) || Character.TYPE == objType) {
+ if (obj instanceof Character) {
return coerce(new Short((short) ((Character) obj).charValue()));
}
throw new IllegalArgumentException(MessageFactory.get("error.convert",
- obj, objType, "Number"));
+ obj, obj.getClass(), "Number"));
}
protected abstract Number coerce(final String str);
Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java?rev=648585&r1=648584&r2=648585&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/lang/ELSupport.java Wed Apr 16
00:38:37 2008
@@ -164,7 +164,7 @@
if (obj == null || "".equals(obj)) {
return Boolean.FALSE;
}
- if (obj instanceof Boolean || obj.getClass() == Boolean.TYPE) {
+ if (obj instanceof Boolean) {
return (Boolean) obj;
}
if (obj instanceof String) {
@@ -187,7 +187,7 @@
return new Character((char) ((Number) obj).shortValue());
}
Class objType = obj.getClass();
- if (obj instanceof Character || objType == Character.TYPE) {
+ if (obj instanceof Character) {
return (Character) obj;
}
@@ -259,14 +259,13 @@
return coerceToNumber((Number) obj, type);
}
- Class objType = obj.getClass();
- if (Character.class.equals(objType) || Character.TYPE == objType) {
+ if (obj instanceof Character) {
return coerceToNumber(new Short((short) ((Character) obj)
.charValue()), type);
}
throw new IllegalArgumentException(MessageFactory.get("error.convert",
- obj, objType, type));
+ obj, obj.getClass(), type));
}
protected final static Number coerceToNumber(final String val,
@@ -402,10 +401,7 @@
return (obj0 instanceof Double
|| obj1 instanceof Double
|| obj0 instanceof Float
- || obj1 instanceof Float
- || (obj0 != null && (Double.TYPE == obj0.getClass() ||
Float.TYPE == obj0
- .getClass())) || (obj1 != null && (Double.TYPE == obj1
- .getClass() || Float.TYPE == obj1.getClass())));
+ || obj1 instanceof Float);
}
public final static boolean isDoubleStringOp(final Object obj0,
@@ -424,17 +420,7 @@
|| obj0 instanceof Short
|| obj1 instanceof Short
|| obj0 instanceof Byte
- || obj1 instanceof Byte
- || (obj0 != null && (Long.TYPE == obj0.getClass()
- || Integer.TYPE == obj0.getClass()
- || Character.TYPE == obj0.getClass()
- || Short.TYPE == obj0.getClass() || Byte.TYPE == obj0
- .getClass())) || (obj0 != null && (Long.TYPE == obj0
- .getClass()
- || Integer.TYPE == obj0.getClass()
- || Character.TYPE == obj0.getClass()
- || Short.TYPE == obj0.getClass() || Byte.TYPE == obj0
- .getClass())));
+ || obj1 instanceof Byte);
}
public final static boolean isStringFloat(final String str) {
Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstNegative.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstNegative.java?rev=648585&r1=648584&r2=648585&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstNegative.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstNegative.java Wed Apr 16
00:38:37 2008
@@ -59,23 +59,22 @@
}
return new Long(-Long.parseLong((String) obj));
}
- Class type = obj.getClass();
- if (obj instanceof Long || Long.TYPE == type) {
+ if (obj instanceof Long) {
return new Long(-((Long) obj).longValue());
}
- if (obj instanceof Double || Double.TYPE == type) {
+ if (obj instanceof Double) {
return new Double(-((Double) obj).doubleValue());
}
- if (obj instanceof Integer || Integer.TYPE == type) {
+ if (obj instanceof Integer) {
return new Integer(-((Integer) obj).intValue());
}
- if (obj instanceof Float || Float.TYPE == type) {
+ if (obj instanceof Float) {
return new Float(-((Float) obj).floatValue());
}
- if (obj instanceof Short || Short.TYPE == type) {
+ if (obj instanceof Short) {
return new Short((short) -((Short) obj).shortValue());
}
- if (obj instanceof Byte || Byte.TYPE == type) {
+ if (obj instanceof Byte) {
return new Byte((byte) -((Byte) obj).byteValue());
}
Long num = (Long) coerceToNumber(obj, Long.class);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]