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
commit 3ddf1fb059c76f56dd49ced63fe886847e8614ed Author: Gary Gregory <[email protected]> AuthorDate: Fri Nov 7 16:22:55 2025 -0500 Use final and reduce nesting Use final and reduce nesting --- .../apache/commons/jexl3/internal/Debugger.java | 21 ++++++++++----------- .../apache/commons/jexl3/internal/Interpreter.java | 2 +- .../commons/jexl3/parser/ASTSwitchStatement.java | 7 +++---- .../java/org/apache/commons/jexl3/SwitchTest.java | 22 +++++++++++----------- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/apache/commons/jexl3/internal/Debugger.java b/src/main/java/org/apache/commons/jexl3/internal/Debugger.java index c592e5d5..f2adbd63 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Debugger.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Debugger.java @@ -718,23 +718,22 @@ public class Debugger extends ParserVisitor implements JexlInfo.Detail { } @Override - protected Object visit(final ASTSwitchExpression node, Object data) { + protected Object visit(final ASTSwitchExpression node, final Object data) { return visit((ASTSwitchStatement) node, data); } @Override - protected Object visit(final ASTCaseStatement node, Object data) { - JexlNode parent = node.jjtGetParent(); - boolean isStatement = parent instanceof ASTSwitchStatement && ((ASTSwitchStatement) parent).isStatement(); + protected Object visit(final ASTCaseStatement node, final Object data) { + final JexlNode parent = node.jjtGetParent(); + final boolean isStatement = parent instanceof ASTSwitchStatement && ((ASTSwitchStatement) parent).isStatement(); if (isStatement) { return visitCaseStatement(node, data); - } else { - return visitCaseExpression(node, data); } + return visitCaseExpression(node, data); } - private Object visitCaseStatement(ASTCaseStatement node, Object data) { - List<Object> values = node.getValues(); + private Object visitCaseStatement(final ASTCaseStatement node, final Object data) { + final List<Object> values = node.getValues(); if (values.isEmpty()) { // default case builder.append("default : "); @@ -753,12 +752,12 @@ public class Debugger extends ParserVisitor implements JexlInfo.Detail { } @Override - protected Object visit(ASTCaseExpression node, Object data) { + protected Object visit(final ASTCaseExpression node, final Object data) { return visitCaseExpression(node, data); } - private Object visitCaseExpression(final ASTCaseStatement node, Object data) { - List<Object> values = node.getValues(); + private Object visitCaseExpression(final ASTCaseStatement node, final Object data) { + final List<Object> values = node.getValues(); if (values.isEmpty()) { // default case builder.append("default -> "); 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 fbe46cc7..6fd203c6 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java @@ -1865,7 +1865,7 @@ public class Interpreter extends InterpreterBase { ? node.jjtGetChild(0).jjtAccept(this, data) : null; cancelCheck(node); - JexlNode parent = node.jjtGetParent(); + final JexlNode parent = node.jjtGetParent(); // if return is last child of script, no need to throw if (parent instanceof ASTJexlScript && parent.jjtGetChild(parent.jjtGetNumChildren() - 1) == node) { diff --git a/src/main/java/org/apache/commons/jexl3/parser/ASTSwitchStatement.java b/src/main/java/org/apache/commons/jexl3/parser/ASTSwitchStatement.java index 0503ff3c..d632c776 100644 --- a/src/main/java/org/apache/commons/jexl3/parser/ASTSwitchStatement.java +++ b/src/main/java/org/apache/commons/jexl3/parser/ASTSwitchStatement.java @@ -95,10 +95,9 @@ public class ASTSwitchStatement extends JexlNode { if (switchSet.isEmpty()) { if (defaultDefined) { throw new ParseException("default clause is already defined"); - } else { - defaultDefined = true; - dispatch.put(JexlParser.DFLT, switchIndex); } + defaultDefined = true; + dispatch.put(JexlParser.DFLT, switchIndex); } else { for (final Object constant : switchSet) { if (dispatch.put(constant == null ? JexlParser.NIL : constant, switchIndex) != null) { @@ -110,7 +109,7 @@ public class ASTSwitchStatement extends JexlNode { switchIndex += 1; } - void defineSwitch(ASTSwitchStatement statement) { + void defineSwitch(final ASTSwitchStatement statement) { statement.cases = dispatch; } } diff --git a/src/test/java/org/apache/commons/jexl3/SwitchTest.java b/src/test/java/org/apache/commons/jexl3/SwitchTest.java index 9e7fb708..569cc463 100644 --- a/src/test/java/org/apache/commons/jexl3/SwitchTest.java +++ b/src/test/java/org/apache/commons/jexl3/SwitchTest.java @@ -185,34 +185,34 @@ public class SwitchTest extends JexlTestCase { @Test void testSwitchStatement1() { // a one statement script - String src = "switch (x) {\n" + final String src = "switch (x) {\n" + " case 1: return 'one';\n" + " case 2: return 'two';\n" + " case 3: return 'three';\n" + " default: return 'many';\n" + "}"; runSwitch(src); - String src2 = "if (true) { " + src + " }"; + final String src2 = "if (true) { " + src + " }"; runSwitch(src2); } @Test void testSwitchExpression1() { // a one statement script that uses the expression syntax - String src = "switch (x) {\n" + final String src = "switch (x) {\n" + " case 1 -> 'one';\n" + " case 2 -> 'two';\n" + " case 3 -> 'three';\n" + " default -> 'many';\n" + "}"; runSwitch(src); - String src2 = "if (true) { " + src + " }"; + final String src2 = "if (true) { " + src + " }"; runSwitch(src2); } void runSwitch(final String src) { - JexlEngine jexl = new JexlBuilder().create(); - JexlScript script = jexl.createScript(src, "x"); + final JexlEngine jexl = new JexlBuilder().create(); + final JexlScript script = jexl.createScript(src, "x"); Object result; result = script.execute(null, 1); Assertions.assertEquals("one", result); @@ -232,19 +232,19 @@ public class SwitchTest extends JexlTestCase { @Test void testSwitchExpressionFail() { - List<String> err = Arrays.asList("break", "continue"); - for (String keyword : err) { + final List<String> err = Arrays.asList("break", "continue"); + for (final String keyword : err) { switchExpressionFailKeyword(keyword); } } - private void switchExpressionFailKeyword(String keyword) { + private void switchExpressionFailKeyword(final String keyword) { // a one statement script that uses the expression syntax - String src = "switch (x) {\n" + final String src = "switch (x) {\n" + " case 1 -> 'one';\n" + " case 2 -> " + keyword + ";\n" + " default -> 'many';\n" + "}"; - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); try { jexl.createScript(src, "x"); fail("should not be able to create script with " + keyword + " in switch expression");
