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]