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 {

Reply via email to