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) {