Author: henrib Date: Fri Jan 22 17:03:06 2016 New Revision: 1726257 URL: http://svn.apache.org/viewvc?rev=1726257&view=rev Log: JEXL-186: correcting arithmetic operator overloading caching / discovery
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/Uberspect.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/Uberspect.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/Uberspect.java?rev=1726257&r1=1726256&r2=1726257&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/Uberspect.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/Uberspect.java Fri Jan 22 17:03:06 2016 @@ -429,7 +429,9 @@ public class Uberspect implements JexlUb */ private ArithmeticUberspect(JexlArithmetic theArithmetic, Set<JexlOperator> theOverloads) { this.arithmetic = theArithmetic; - this.overloads = EnumSet.copyOf(theOverloads); + this.overloads = theOverloads == null || theOverloads.isEmpty() + ? EnumSet.noneOf(JexlOperator.class) + : EnumSet.copyOf(theOverloads); // register this arithmetic class in the operator map operatorMap.put(arithmetic.getClass(), overloads); } @@ -479,9 +481,7 @@ public class Uberspect implements JexlUb } } } - if (!ops.isEmpty()) { - jau = new ArithmeticUberspect(arithmetic, ops); - } + jau = new ArithmeticUberspect(arithmetic, ops); } return jau; }