You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2025/07/20 14:28:26 UTC

(commons-bcel) branch master updated: Use final

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-bcel.git


The following commit(s) were added to refs/heads/master by this push:
     new 479803fb Use final
479803fb is described below

commit 479803fb3662d5efab184b98127e5454554f27e0
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Sun Jul 20 10:28:21 2025 -0400

    Use final
    
    - Use StringUtils.toRootLowerCase
    - Use StringUtils.toRootUpperCase
---
 src/main/java/org/apache/bcel/classfile/Utility.java        | 13 ++++++++-----
 src/main/java/org/apache/bcel/util/BCELFactory.java         | 12 ++++++------
 src/main/java/org/apache/bcel/util/BCELifier.java           |  5 ++---
 src/main/java/org/apache/bcel/util/ClassPath.java           |  6 +++---
 src/main/java/org/apache/bcel/util/InstructionFinder.java   |  4 ++--
 .../org/apache/bcel/verifier/statics/Pass2Verifier.java     |  4 ++--
 6 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/apache/bcel/classfile/Utility.java b/src/main/java/org/apache/bcel/classfile/Utility.java
index 6825bcf6..514fd4cc 100644
--- a/src/main/java/org/apache/bcel/classfile/Utility.java
+++ b/src/main/java/org/apache/bcel/classfile/Utility.java
@@ -33,7 +33,6 @@ import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Locale;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
@@ -41,6 +40,7 @@ import org.apache.bcel.Const;
 import org.apache.bcel.util.ByteSequence;
 import org.apache.commons.lang3.ArrayFill;
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Utility functions that do not really belong to any class in particular.
@@ -1110,12 +1110,15 @@ public abstract class Utility {
     }
 
     /**
-     * Map opcode names to opcode numbers. E.g., return Constants.ALOAD for "aload"
+     * Map opcode names to opcode numbers. E.g., return Constants.ALOAD for "aload".
+     *
+     * @param name The opcode name.
+     * @return the value.
      */
-    public static short searchOpcode(String name) {
-        name = name.toLowerCase(Locale.ROOT);
+    public static short searchOpcode(final String name) {
+        final String lcName = StringUtils.toRootLowerCase(name);
         for (short i = 0; i < Const.OPCODE_NAMES_LENGTH; i++) {
-            if (Const.getOpcodeName(i).equals(name)) {
+            if (Const.getOpcodeName(i).equals(lcName)) {
                 return i;
             }
         }
diff --git a/src/main/java/org/apache/bcel/util/BCELFactory.java b/src/main/java/org/apache/bcel/util/BCELFactory.java
index 2ce51589..18b41265 100644
--- a/src/main/java/org/apache/bcel/util/BCELFactory.java
+++ b/src/main/java/org/apache/bcel/util/BCELFactory.java
@@ -22,7 +22,6 @@ import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 
 import org.apache.bcel.Const;
@@ -56,6 +55,7 @@ import org.apache.bcel.generic.RET;
 import org.apache.bcel.generic.ReturnInstruction;
 import org.apache.bcel.generic.Select;
 import org.apache.bcel.generic.Type;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Factory creates il.append() statements, and sets instruction targets. A helper class for BCELifier.
@@ -227,7 +227,7 @@ final class BCELFactory extends EmptyVisitor {
                 }
             }
             args.append(" }");
-            printWriter.print("Select " + name + " = new " + bi.getName().toUpperCase(Locale.ROOT) + "(" + args + ", new InstructionHandle[] { ");
+            printWriter.print("Select " + name + " = new " + StringUtils.toRootUpperCase(bi.getName()) + "(" + args + ", new InstructionHandle[] { ");
             for (int i = 0; i < matchs.length; i++) {
                 printWriter.print("null");
                 if (i < matchs.length - 1) {
@@ -245,7 +245,7 @@ final class BCELFactory extends EmptyVisitor {
                 target = "null";
             }
             printWriter.println("    BranchInstruction " + name + " = _factory.createBranchInstruction(" + CONSTANT_PREFIX
-                + bi.getName().toUpperCase(Locale.ROOT) + ", " + target + ");");
+                    + StringUtils.toRootUpperCase(bi.getName()) + ", " + target + ");");
         }
         if (bh.hasTargeters()) {
             printWriter.println("    ih_" + pos + " = il.append(" + name + ");");
@@ -272,7 +272,7 @@ final class BCELFactory extends EmptyVisitor {
         final String fieldName = i.getFieldName(constantPoolGen);
         final Type type = i.getFieldType(constantPoolGen);
         printWriter.println("il.append(_factory.createFieldAccess(\"" + className + "\", \"" + fieldName + "\", " + BCELifier.printType(type) + ", "
-            + CONSTANT_PREFIX + Const.getOpcodeName(opcode).toUpperCase(Locale.ROOT) + "));");
+                + CONSTANT_PREFIX + StringUtils.toRootUpperCase(Const.getOpcodeName(opcode)) + "));");
     }
 
     @Override
@@ -284,7 +284,7 @@ final class BCELFactory extends EmptyVisitor {
     private boolean visitInstruction(final Instruction i) {
         final short opcode = i.getOpcode();
         if (InstructionConst.getInstruction(opcode) != null && !(i instanceof ConstantPushInstruction) && !(i instanceof ReturnInstruction)) { // Handled below
-            printWriter.println("il.append(InstructionConst." + i.getName().toUpperCase(Locale.ROOT) + ");");
+            printWriter.println("il.append(InstructionConst." + StringUtils.toRootUpperCase(i.getName()) + ");");
             return true;
         }
         return false;
@@ -298,7 +298,7 @@ final class BCELFactory extends EmptyVisitor {
         final Type type = i.getReturnType(constantPoolGen);
         final Type[] argTypes = i.getArgumentTypes(constantPoolGen);
         printWriter.println("il.append(_factory.createInvoke(\"" + className + "\", \"" + methodName + "\", " + BCELifier.printType(type) + ", "
-            + BCELifier.printArgumentTypes(argTypes) + ", " + CONSTANT_PREFIX + Const.getOpcodeName(opcode).toUpperCase(Locale.ROOT) + "));");
+            + BCELifier.printArgumentTypes(argTypes) + ", " + CONSTANT_PREFIX + StringUtils.toRootUpperCase(Const.getOpcodeName(opcode)) + "));");
     }
 
     @Override
diff --git a/src/main/java/org/apache/bcel/util/BCELifier.java b/src/main/java/org/apache/bcel/util/BCELifier.java
index 874f0811..89a7bdde 100644
--- a/src/main/java/org/apache/bcel/util/BCELifier.java
+++ b/src/main/java/org/apache/bcel/util/BCELifier.java
@@ -23,7 +23,6 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
-import java.util.Locale;
 
 import org.apache.bcel.Const;
 import org.apache.bcel.Repository;
@@ -126,7 +125,7 @@ public class BCELifier extends org.apache.bcel.classfile.EmptyVisitor {
                 } else if (pow == Const.ACC_TRANSIENT && location == FLAGS.METHOD) {
                     buf.append(CONSTANT_PREFIX).append("ACC_VARARGS | ");
                 } else if (i < Const.ACCESS_NAMES_LENGTH) {
-                    buf.append(CONSTANT_PREFIX).append("ACC_").append(Const.getAccessName(i).toUpperCase(Locale.ROOT)).append(" | ");
+                    buf.append(CONSTANT_PREFIX).append("ACC_").append(StringUtils.toRootUpperCase(Const.getAccessName(i))).append(" | ");
                 } else {
                     buf.append(String.format(CONSTANT_PREFIX + "ACC_BIT %x | ", pow));
                 }
@@ -141,7 +140,7 @@ public class BCELifier extends org.apache.bcel.classfile.EmptyVisitor {
         final Type type = Type.getType(signature);
         final byte t = type.getType();
         if (t <= Const.T_VOID) {
-            return "Type." + Const.getTypeName(t).toUpperCase(Locale.ROOT);
+            return "Type." + StringUtils.toRootUpperCase(Const.getTypeName(t));
         }
         if (type.toString().equals("java.lang.String")) {
             return "Type.STRING";
diff --git a/src/main/java/org/apache/bcel/util/ClassPath.java b/src/main/java/org/apache/bcel/util/ClassPath.java
index a77d5740..b56cc409 100644
--- a/src/main/java/org/apache/bcel/util/ClassPath.java
+++ b/src/main/java/org/apache/bcel/util/ClassPath.java
@@ -35,7 +35,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.List;
-import java.util.Locale;
 import java.util.Objects;
 import java.util.StringTokenizer;
 import java.util.stream.Collectors;
@@ -45,6 +44,7 @@ import java.util.zip.ZipFile;
 import org.apache.bcel.classfile.JavaClass;
 import org.apache.bcel.classfile.Utility;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.SystemProperties;
 
 /**
@@ -431,12 +431,12 @@ public class ClassPath implements Closeable {
     }
 
     private static final FilenameFilter ARCHIVE_FILTER = (dir, name) -> {
-        name = name.toLowerCase(Locale.ROOT);
+        name = StringUtils.toRootLowerCase(name);
         return name.endsWith(".zip") || name.endsWith(".jar");
     };
 
     private static final FilenameFilter MODULES_FILTER = (dir, name) -> {
-        name = name.toLowerCase(Locale.ROOT);
+        name = StringUtils.toRootLowerCase(name);
         return name.endsWith(org.apache.bcel.classfile.Module.EXTENSION);
     };
 
diff --git a/src/main/java/org/apache/bcel/util/InstructionFinder.java b/src/main/java/org/apache/bcel/util/InstructionFinder.java
index ae8a9376..974b1bd9 100644
--- a/src/main/java/org/apache/bcel/util/InstructionFinder.java
+++ b/src/main/java/org/apache/bcel/util/InstructionFinder.java
@@ -23,7 +23,6 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -32,6 +31,7 @@ import org.apache.bcel.Const;
 import org.apache.bcel.generic.ClassGenException;
 import org.apache.bcel.generic.InstructionHandle;
 import org.apache.bcel.generic.InstructionList;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * InstructionFinder is a tool to search for given instructions patterns, i.e., match sequences of instructions in an
@@ -173,7 +173,7 @@ public class InstructionFinder {
      */
     private static String compilePattern(final String pattern) {
         // Bug: BCEL-77 - Instructions are assumed to be english, to avoid odd Locale issues
-        final String lower = pattern.toLowerCase(Locale.ROOT);
+        final String lower = StringUtils.toRootLowerCase(pattern);
         final StringBuilder buf = new StringBuilder();
         final int size = pattern.length();
         for (int i = 0; i < size; i++) {
diff --git a/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java b/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
index c60c3991..6a56be66 100644
--- a/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
+++ b/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
@@ -20,7 +20,6 @@ package org.apache.bcel.verifier.statics;
 
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
@@ -74,6 +73,7 @@ import org.apache.bcel.verifier.VerifierFactory;
 import org.apache.bcel.verifier.exc.AssertionViolatedException;
 import org.apache.bcel.verifier.exc.ClassConstraintException;
 import org.apache.bcel.verifier.exc.LocalVariableInfoInconsistentException;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * This PassVerifier verifies a class file according to pass 2 as described in The Java Virtual Machine Specification,
@@ -966,7 +966,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants {
             checkIndex(obj, obj.getSourceFileIndex(), CONST_Utf8);
 
             final String sourceFileName = ((ConstantUtf8) cp.getConstant(obj.getSourceFileIndex())).getBytes(); // ==obj.getSourceFileName() ?
-            final String sourceFileNameLc = sourceFileName.toLowerCase(Locale.ROOT);
+            final String sourceFileNameLc = StringUtils.toRootLowerCase(sourceFileName);
 
             if (sourceFileName.indexOf('/') != -1 || sourceFileName.indexOf('\\') != -1 || sourceFileName.indexOf(':') != -1
                 || sourceFileNameLc.lastIndexOf(".java") == -1) {