This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/master by this push: new e76e0ca Raise embedded if into parent if. e76e0ca is described below commit e76e0ca09e495b9ae707ae29e9e43bde83f547c8 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Feb 28 12:43:17 2021 -0500 Raise embedded if into parent if. --- .../apache/commons/jexl3/internal/Interpreter.java | 12 ++++----- .../commons/jexl3/internal/InterpreterBase.java | 30 ++++++++++------------ .../commons/jexl3/internal/TemplateScript.java | 26 +++++++++---------- .../jexl3/internal/introspection/MethodKey.java | 8 +++--- 4 files changed, 33 insertions(+), 43 deletions(-) diff --git a/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java b/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java index f8e9410..40060f3 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java @@ -517,13 +517,11 @@ public class Interpreter extends InterpreterBase { } Object number = arithmetic.negate(val); // attempt to recoerce to literal class - if ((number instanceof Number)) { - // cache if number literal and negate is idempotent - if (valNode instanceof ASTNumberLiteral) { - number = arithmetic.narrowNumber((Number) number, ((ASTNumberLiteral) valNode).getLiteralClass()); - if (arithmetic.isNegateStable()) { - node.jjtSetValue(number); - } + // cache if number literal and negate is idempotent + if (number instanceof Number && valNode instanceof ASTNumberLiteral) { + number = arithmetic.narrowNumber((Number) number, ((ASTNumberLiteral) valNode).getLiteralClass()); + if (arithmetic.isNegateStable()) { + node.jjtSetValue(number); } } return number; diff --git a/src/main/java/org/apache/commons/jexl3/internal/InterpreterBase.java b/src/main/java/org/apache/commons/jexl3/internal/InterpreterBase.java index 85f3145..71efbf8 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/InterpreterBase.java +++ b/src/main/java/org/apache/commons/jexl3/internal/InterpreterBase.java @@ -223,17 +223,15 @@ public abstract class InterpreterBase extends ParserVisitor { } } // try again; use a class, namespace of static methods - if (functor == null) { - // try to find a class with that name - if (namespace instanceof String) { - try { - namespace = uberspect.getClassLoader().loadClass((String) namespace); - } catch (final ClassNotFoundException xignore) { - // not a class - namespace = null; - } - } // we know its a class - } + // try to find a class with that name + if (functor == null && namespace instanceof String) { + try { + namespace = uberspect.getClassLoader().loadClass((String) namespace); + } catch (final ClassNotFoundException xignore) { + // not a class + namespace = null; + } + } // we know its a class } } } @@ -305,12 +303,10 @@ public abstract class InterpreterBase extends ParserVisitor { if (options.isLexicalShade() && identifier.isShaded()) { return undefinedVariable(identifier, identifier.getName()); } - if (symbol >= 0) { - if (frame.has(symbol)) { - final Object value = frame.get(symbol); - if (value != Scope.UNDEFINED) { - return value; - } + if ((symbol >= 0) && frame.has(symbol)) { + final Object value = frame.get(symbol); + if (value != Scope.UNDEFINED) { + return value; } } final String name = identifier.getName(); diff --git a/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java b/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java index 0f0a2a4..337f7de 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java +++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java @@ -197,20 +197,18 @@ public final class TemplateScript implements JxltEngine.Template { */ private static void collectPrintScope(final JexlNode node, final Map<Integer, JexlNode.Info> minfo) { final int nc = node.jjtGetNumChildren(); - if (node instanceof ASTFunctionNode) { - if (nc == 2) { - // 0 must be the prefix jexl: - final ASTIdentifier nameNode = (ASTIdentifier) node.jjtGetChild(0); - if ("print".equals(nameNode.getName()) && "jexl".equals(nameNode.getNamespace())) { - final ASTArguments argNode = (ASTArguments) node.jjtGetChild(1); - if (argNode.jjtGetNumChildren() == 1) { - // seek the epression number - final JexlNode arg0 = argNode.jjtGetChild(0); - if (arg0 instanceof ASTNumberLiteral) { - final int exprNumber = ((ASTNumberLiteral) arg0).getLiteral().intValue(); - minfo.put(exprNumber, new JexlNode.Info(nameNode)); - return; - } + if (node instanceof ASTFunctionNode && nc == 2) { + // 0 must be the prefix jexl: + final ASTIdentifier nameNode = (ASTIdentifier) node.jjtGetChild(0); + if ("print".equals(nameNode.getName()) && "jexl".equals(nameNode.getNamespace())) { + final ASTArguments argNode = (ASTArguments) node.jjtGetChild(1); + if (argNode.jjtGetNumChildren() == 1) { + // seek the epression number + final JexlNode arg0 = argNode.jjtGetChild(0); + if (arg0 instanceof ASTNumberLiteral) { + final int exprNumber = ((ASTNumberLiteral) arg0).getLiteral().intValue(); + minfo.put(exprNumber, new JexlNode.Info(nameNode)); + return; } } } diff --git a/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java b/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java index fe8aca4..709d97a 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java +++ b/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java @@ -575,11 +575,9 @@ public final class MethodKey { for (final T app : applicables) { final Class<?>[] parmClasses = getParameterTypes(app); final Class<?> parmClass = parmClasses[c]; - if (Object.class.equals(parmClass)) { - if (objectParmCount++ == 2) { - severe = true; - break; - } + if (Object.class.equals(parmClass) && (objectParmCount++ == 2)) { + severe = true; + break; } } } else {