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 d7012be  Minor Improvements: (#83)
d7012be is described below

commit d7012bede7fbbf1a7b5b2fc4f587271792a0bd03
Author: Arturo Bernal <arturobern...@gmail.com>
AuthorDate: Thu Jul 1 20:01:07 2021 +0200

    Minor Improvements: (#83)
    
    * Use  'final' modifier
    * Change String to StringBuilder
    * Use StringBuilder append
    * Manual array copy
    * Use empty array
---
 .../org/apache/bcel/classfile/AnnotationEntry.java |   4 +-
 .../apache/bcel/classfile/BootstrapMethods.java    |   2 +-
 .../org/apache/bcel/classfile/ConstantUtf8.java    |   8 +-
 .../org/apache/bcel/classfile/FieldOrMethod.java   |   4 +-
 .../java/org/apache/bcel/classfile/JavaClass.java  |  10 +-
 .../bcel/classfile/ParameterAnnotationEntry.java   |   2 +-
 .../java/org/apache/bcel/classfile/Utility.java    |   6 +-
 .../apache/bcel/generic/AnnotationEntryGen.java    |   6 +-
 .../java/org/apache/bcel/generic/ClassGen.java     |  10 +-
 .../java/org/apache/bcel/generic/FieldGen.java     |   2 +-
 .../org/apache/bcel/generic/InstructionList.java   |   8 +-
 .../java/org/apache/bcel/generic/MethodGen.java    |   6 +-
 src/main/java/org/apache/bcel/generic/Select.java  |   2 +-
 .../java/org/apache/bcel/util/AttributeHTML.java   |   6 +-
 src/main/java/org/apache/bcel/util/BCELifier.java  |   8 +-
 src/main/java/org/apache/bcel/util/ClassSet.java   |   2 +-
 src/main/java/org/apache/bcel/util/CodeHTML.java   |   2 +-
 .../org/apache/bcel/verifier/PassVerifier.java     |   4 +-
 .../org/apache/bcel/verifier/TransitiveHull.java   |   2 +-
 .../java/org/apache/bcel/verifier/Verifier.java    |   2 +-
 .../bcel/verifier/VerifierFactoryListModel.java    |   2 +-
 .../org/apache/bcel/verifier/VerifyDialog.java     |  18 ++--
 .../bcel/verifier/statics/Pass2Verifier.java       |   2 +-
 .../verifier/structurals/ControlFlowGraph.java     |   8 +-
 .../verifier/structurals/ExceptionHandlers.java    |   2 +-
 .../verifier/structurals/ExecutionVisitor.java     |   4 +-
 .../structurals/InstConstraintVisitor.java         |   6 +-
 .../bcel/verifier/structurals/LocalVariables.java  |   4 +-
 .../bcel/AbstractCounterVisitorTestCase.java       |   2 +-
 src/test/java/org/apache/bcel/BCELBenchmark.java   |   2 +-
 src/test/java/org/apache/bcel/NanoTimer.java       |   2 +-
 .../apache/bcel/generic/AnnotationGenTestCase.java |   2 +-
 .../org/apache/bcel/visitors/CounterVisitor.java   | 108 ++++++++++-----------
 33 files changed, 128 insertions(+), 130 deletions(-)

diff --git a/src/main/java/org/apache/bcel/classfile/AnnotationEntry.java 
b/src/main/java/org/apache/bcel/classfile/AnnotationEntry.java
index 16d8439..aba4422 100644
--- a/src/main/java/org/apache/bcel/classfile/AnnotationEntry.java
+++ b/src/main/java/org/apache/bcel/classfile/AnnotationEntry.java
@@ -117,7 +117,7 @@ public class AnnotationEntry implements Node {
      */
     public ElementValuePair[] getElementValuePairs() {
         // TODO return List
-        return elementValuePairs.toArray(new 
ElementValuePair[elementValuePairs.size()]);
+        return elementValuePairs.toArray(new ElementValuePair[0]);
     }
 
     public void dump(final DataOutputStream dos) throws IOException {
@@ -165,6 +165,6 @@ public class AnnotationEntry implements Node {
                 Collections.addAll(accumulatedAnnotations, 
runtimeAnnotations.getAnnotationEntries());
             }
         }
-        return accumulatedAnnotations.toArray(new 
AnnotationEntry[accumulatedAnnotations.size()]);
+        return accumulatedAnnotations.toArray(new AnnotationEntry[0]);
     }
 }
diff --git a/src/main/java/org/apache/bcel/classfile/BootstrapMethods.java 
b/src/main/java/org/apache/bcel/classfile/BootstrapMethods.java
index 3abe716..f06b7c2 100644
--- a/src/main/java/org/apache/bcel/classfile/BootstrapMethods.java
+++ b/src/main/java/org/apache/bcel/classfile/BootstrapMethods.java
@@ -143,7 +143,7 @@ public class BootstrapMethods extends Attribute {
             final String[] lines = 
(bootstrapMethods[i].toString(super.getConstantPool())).split("\\r?\\n");
             buf.append(lines[0]);
             for (int j = 1; j < lines.length; j++) {
-                buf.append("\n").append("          
".substring(0,indent_count)).append(lines[j]);
+                buf.append("\n").append("          ", 0, 
indent_count).append(lines[j]);
             }
         }
         return buf.toString();
diff --git a/src/main/java/org/apache/bcel/classfile/ConstantUtf8.java 
b/src/main/java/org/apache/bcel/classfile/ConstantUtf8.java
index f421f66..93ee8a3 100644
--- a/src/main/java/org/apache/bcel/classfile/ConstantUtf8.java
+++ b/src/main/java/org/apache/bcel/classfile/ConstantUtf8.java
@@ -83,10 +83,10 @@ public final class ConstantUtf8 extends Constant {
     }
 
     // TODO these should perhaps be AtomicInt?
-    private static volatile int considered = 0;
-    private static volatile int created = 0;
-    private static volatile int hits = 0;
-    private static volatile int skipped = 0;
+    private static volatile int considered;
+    private static volatile int created;
+    private static volatile int hits;
+    private static volatile int skipped;
 
     private static final String SYS_PROP_CACHE_MAX_ENTRIES = "bcel.maxcached";
     private static final String SYS_PROP_CACHE_MAX_ENTRY_SIZE = 
"bcel.maxcached.size";
diff --git a/src/main/java/org/apache/bcel/classfile/FieldOrMethod.java 
b/src/main/java/org/apache/bcel/classfile/FieldOrMethod.java
index 6b70942..4344ada 100644
--- a/src/main/java/org/apache/bcel/classfile/FieldOrMethod.java
+++ b/src/main/java/org/apache/bcel/classfile/FieldOrMethod.java
@@ -63,8 +63,8 @@ public abstract class FieldOrMethod extends AccessFlags 
implements Cloneable, No
     @java.lang.Deprecated
     protected ConstantPool constant_pool;
 
-    private String signatureAttributeString = null;
-    private boolean searchedForSignatureAttribute = false;
+    private String signatureAttributeString;
+    private boolean searchedForSignatureAttribute;
 
     FieldOrMethod() {
     }
diff --git a/src/main/java/org/apache/bcel/classfile/JavaClass.java 
b/src/main/java/org/apache/bcel/classfile/JavaClass.java
index 13141fb..bb86a11 100644
--- a/src/main/java/org/apache/bcel/classfile/JavaClass.java
+++ b/src/main/java/org/apache/bcel/classfile/JavaClass.java
@@ -66,9 +66,9 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
     private Attribute[] attributes; // attributes defined in the class
     private AnnotationEntry[] annotations;   // annotations defined on the 
class
     private byte source = HEAP; // Generated in memory
-    private boolean isAnonymous = false;
-    private boolean isNested = false;
-    private boolean computedNestedTypeStatus = false;
+    private boolean isAnonymous;
+    private boolean isNested;
+    private boolean computedNestedTypeStatus;
     public static final byte HEAP = 1;
     public static final byte FILE = 2;
     public static final byte ZIP = 3;
@@ -832,7 +832,7 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
         for (clazz = clazz.getSuperClass(); clazz != null; clazz = 
clazz.getSuperClass()) {
             allSuperClasses.add(clazz);
         }
-        return allSuperClasses.toArray(new JavaClass[allSuperClasses.size()]);
+        return allSuperClasses.toArray(new JavaClass[0]);
     }
 
 
@@ -871,7 +871,7 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
                 queue.enqueue(_interface);
             }
         }
-        return allInterfaces.toArray(new JavaClass[allInterfaces.size()]);
+        return allInterfaces.toArray(new JavaClass[0]);
     }
 
 
diff --git 
a/src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java 
b/src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java
index c8cc680..22cb87d 100644
--- a/src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java
+++ b/src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java
@@ -85,7 +85,7 @@ public class ParameterAnnotationEntry implements Node {
               Collections.addAll(accumulatedAnnotations, 
runtimeAnnotations.getParameterAnnotationEntries());
           }
       }
-      return accumulatedAnnotations.toArray(new 
ParameterAnnotationEntry[accumulatedAnnotations.size()]);
+      return accumulatedAnnotations.toArray(new ParameterAnnotationEntry[0]);
   }
 }
 
diff --git a/src/main/java/org/apache/bcel/classfile/Utility.java 
b/src/main/java/org/apache/bcel/classfile/Utility.java
index 153a51e..6032a9e 100644
--- a/src/main/java/org/apache/bcel/classfile/Utility.java
+++ b/src/main/java/org/apache/bcel/classfile/Utility.java
@@ -69,7 +69,7 @@ public abstract class Utility {
      * following byte to form a
      * 16-bit value.
      */
-    private static boolean wide = false;
+    private static boolean wide;
 
 
     /**
@@ -591,7 +591,7 @@ public abstract class Utility {
         } catch (final StringIndexOutOfBoundsException e) { // Should never 
occur
             throw new ClassFormatException("Invalid method signature: " + 
signature, e);
         }
-        return vec.toArray(new String[vec.size()]);
+        return vec.toArray(new String[0]);
     }
 
 
@@ -742,7 +742,7 @@ public abstract class Utility {
                 old_index = 0; // String start offset
                 // While we have something to replace
                 while ((index = str.indexOf(old, old_index)) != -1) {
-                    buf.append(str.substring(old_index, index)); // append 
prefix
+                    buf.append(str, old_index, index); // append prefix
                     buf.append(new_); // append replacement
                     old_index = index + old.length(); // Skip `old'.length 
chars
                 }
diff --git a/src/main/java/org/apache/bcel/generic/AnnotationEntryGen.java 
b/src/main/java/org/apache/bcel/generic/AnnotationEntryGen.java
index 5832af9..81e30a0 100644
--- a/src/main/java/org/apache/bcel/generic/AnnotationEntryGen.java
+++ b/src/main/java/org/apache/bcel/generic/AnnotationEntryGen.java
@@ -45,7 +45,7 @@ public class AnnotationEntryGen {
 
     private final ConstantPoolGen cpool;
 
-    private boolean isRuntimeVisible = false;
+    private boolean isRuntimeVisible;
 
     /**
      * Here we are taking a fixed annotation of type Annotation and building a
@@ -257,7 +257,7 @@ public class AnnotationEntryGen {
                             new DataInputStream(new 
ByteArrayInputStream(riaData)), cp.getConstantPool()));
             }
 
-            return newAttributes.toArray(new Attribute[newAttributes.size()]);
+            return newAttributes.toArray(new Attribute[0]);
         } catch (final IOException e) {
             System.err.println("IOException whilst processing annotations");
             e.printStackTrace();
@@ -343,7 +343,7 @@ public class AnnotationEntryGen {
                         .add(new RuntimeInvisibleParameterAnnotations(riaIndex,
                                 riaData.length, new DataInputStream(new 
ByteArrayInputStream(riaData)), cp.getConstantPool()));
             }
-            return newAttributes.toArray(new Attribute[newAttributes.size()]);
+            return newAttributes.toArray(new Attribute[0]);
         } catch (final IOException e) {
             System.err
                     .println("IOException whilst processing parameter 
annotations");
diff --git a/src/main/java/org/apache/bcel/generic/ClassGen.java 
b/src/main/java/org/apache/bcel/generic/ClassGen.java
index 8884463..3be6091 100644
--- a/src/main/java/org/apache/bcel/generic/ClassGen.java
+++ b/src/main/java/org/apache/bcel/generic/ClassGen.java
@@ -190,7 +190,7 @@ public class ClassGen extends AccessFlags implements 
Cloneable {
                     }
                 }
         }
-        return annotationGenObjs.toArray(new 
AnnotationEntryGen[annotationGenObjs.size()]);
+        return annotationGenObjs.toArray(new AnnotationEntryGen[0]);
     }
 
 
@@ -432,7 +432,7 @@ public class ClassGen extends AccessFlags implements 
Cloneable {
 
 
     public Method[] getMethods() {
-        return methodList.toArray(new Method[methodList.size()]);
+        return methodList.toArray(new Method[0]);
     }
 
 
@@ -473,17 +473,17 @@ public class ClassGen extends AccessFlags implements 
Cloneable {
 
 
     public Field[] getFields() {
-        return fieldList.toArray(new Field[fieldList.size()]);
+        return fieldList.toArray(new Field[0]);
     }
 
 
     public Attribute[] getAttributes() {
-        return attributeList.toArray(new Attribute[attributeList.size()]);
+        return attributeList.toArray(new Attribute[0]);
     }
 
     //  J5TODO: Should we make calling unpackAnnotations() lazy and put it in 
here?
     public AnnotationEntryGen[] getAnnotationEntries() {
-        return annotationList.toArray(new 
AnnotationEntryGen[annotationList.size()]);
+        return annotationList.toArray(new AnnotationEntryGen[0]);
     }
 
 
diff --git a/src/main/java/org/apache/bcel/generic/FieldGen.java 
b/src/main/java/org/apache/bcel/generic/FieldGen.java
index 5efb131..19e2f98 100644
--- a/src/main/java/org/apache/bcel/generic/FieldGen.java
+++ b/src/main/java/org/apache/bcel/generic/FieldGen.java
@@ -42,7 +42,7 @@ import org.apache.bcel.util.BCELComparator;
  */
 public class FieldGen extends FieldGenOrMethodGen {
 
-    private Object value = null;
+    private Object value;
     private static BCELComparator bcelComparator = new BCELComparator() {
 
         @Override
diff --git a/src/main/java/org/apache/bcel/generic/InstructionList.java 
b/src/main/java/org/apache/bcel/generic/InstructionList.java
index 15bb377..480b436 100644
--- a/src/main/java/org/apache/bcel/generic/InstructionList.java
+++ b/src/main/java/org/apache/bcel/generic/InstructionList.java
@@ -45,9 +45,9 @@ import org.apache.commons.lang3.ArrayUtils;
  */
 public class InstructionList implements Iterable<InstructionHandle> {
 
-    private InstructionHandle start = null;
-    private InstructionHandle end = null;
-    private int length = 0; // number of elements in list
+    private InstructionHandle start;
+    private InstructionHandle end;
+    private int length; // number of elements in list
     private int[] bytePositions; // byte code offsets corresponding to 
instructions
 
     /**
@@ -965,7 +965,7 @@ public class InstructionList implements 
Iterable<InstructionHandle> {
         } catch (final IOException e) {
             throw new ClassGenException(e.toString(), e);
         }
-        return instructions.toArray(new Instruction[instructions.size()]);
+        return instructions.toArray(new Instruction[0]);
     }
 
     @Override
diff --git a/src/main/java/org/apache/bcel/generic/MethodGen.java 
b/src/main/java/org/apache/bcel/generic/MethodGen.java
index ca561be..eaa8c2c 100644
--- a/src/main/java/org/apache/bcel/generic/MethodGen.java
+++ b/src/main/java/org/apache/bcel/generic/MethodGen.java
@@ -65,7 +65,7 @@ public class MethodGen extends FieldGenOrMethodGen {
     private int maxStack;
     private InstructionList il;
     private boolean stripAttributes;
-    private LocalVariableTypeTable localVariableTypeTable = null;
+    private LocalVariableTypeTable localVariableTypeTable;
     private final List<LocalVariableGen> variableList = new ArrayList<>();
     private final List<LineNumberGen> lineNumberList = new ArrayList<>();
     private final List<CodeExceptionGen> exceptionList = new ArrayList<>();
@@ -73,8 +73,8 @@ public class MethodGen extends FieldGenOrMethodGen {
     private final List<Attribute> codeAttrsList = new ArrayList<>();
 
     private List<AnnotationEntryGen>[] paramAnnotations; // Array of lists 
containing AnnotationGen objects
-    private boolean hasParameterAnnotations = false;
-    private boolean haveUnpackedParameterAnnotations = false;
+    private boolean hasParameterAnnotations;
+    private boolean haveUnpackedParameterAnnotations;
 
     private static BCELComparator bcelComparator = new BCELComparator() {
 
diff --git a/src/main/java/org/apache/bcel/generic/Select.java 
b/src/main/java/org/apache/bcel/generic/Select.java
index ebb0e17..c57d4f9 100644
--- a/src/main/java/org/apache/bcel/generic/Select.java
+++ b/src/main/java/org/apache/bcel/generic/Select.java
@@ -68,7 +68,7 @@ public abstract class Select extends BranchInstruction 
implements VariableLength
      * @deprecated (since 6.0) will be made private; do not access directly, 
use getter/setter
      */
     @Deprecated
-    protected int padding = 0; // number of pad bytes for alignment TODO could 
be package-protected?
+    protected int padding; // number of pad bytes for alignment TODO could be 
package-protected?
 
 
     /**
diff --git a/src/main/java/org/apache/bcel/util/AttributeHTML.java 
b/src/main/java/org/apache/bcel/util/AttributeHTML.java
index dfe5c8d..302f634 100644
--- a/src/main/java/org/apache/bcel/util/AttributeHTML.java
+++ b/src/main/java/org/apache/bcel/util/AttributeHTML.java
@@ -47,7 +47,7 @@ final class AttributeHTML {
 
     private final String class_name; // name of current class
     private final PrintWriter file; // file to write to
-    private int attr_count = 0;
+    private int attr_count;
     private final ConstantHTML constant_html;
     private final ConstantPool constant_pool;
 
@@ -185,8 +185,8 @@ final class AttributeHTML {
                 // List inner classes
                 file.print("<UL>");
                 for (final InnerClass classe : classes) {
-                    String name;
-                    String access;
+                    final String name;
+                    final String access;
                     index = classe.getInnerNameIndex();
                     if (index > 0) {
                         name = ((ConstantUtf8) 
constant_pool.getConstant(index, Const.CONSTANT_Utf8))
diff --git a/src/main/java/org/apache/bcel/util/BCELifier.java 
b/src/main/java/org/apache/bcel/util/BCELifier.java
index 9789e7a..9225f7c 100644
--- a/src/main/java/org/apache/bcel/util/BCELifier.java
+++ b/src/main/java/org/apache/bcel/util/BCELifier.java
@@ -216,14 +216,14 @@ public class BCELifier extends 
org.apache.bcel.classfile.EmptyVisitor {
         for (int i = 0, pow = 1; pow <= Const.MAX_ACC_FLAG_I; i++) {
             if ((flags & pow) != 0) {
                 if ((pow == Const.ACC_SYNCHRONIZED) && (location == 
FLAGS.CLASS)) {
-                    buf.append(CONSTANT_PREFIX+"ACC_SUPER | ");
+                    buf.append(CONSTANT_PREFIX).append("ACC_SUPER | ");
                 } else if ((pow == Const.ACC_VOLATILE) && (location == 
FLAGS.METHOD)) {
-                    buf.append(CONSTANT_PREFIX+"ACC_BRIDGE | ");
+                    buf.append(CONSTANT_PREFIX).append("ACC_BRIDGE | ");
                 } else if ((pow == Const.ACC_TRANSIENT) && (location == 
FLAGS.METHOD)) {
-                    buf.append(CONSTANT_PREFIX+"ACC_VARARGS | ");
+                    buf.append(CONSTANT_PREFIX).append("ACC_VARARGS | ");
                 } else {
                     if (i < Const.ACCESS_NAMES_LENGTH) {
-                        
buf.append(CONSTANT_PREFIX+"ACC_").append(Const.getAccessName(i).toUpperCase(Locale.ENGLISH)).append(
 " | ");
+                        
buf.append(CONSTANT_PREFIX).append("ACC_").append(Const.getAccessName(i).toUpperCase(Locale.ENGLISH)).append(
 " | ");
                     } else {
                         buf.append(String.format (CONSTANT_PREFIX+"ACC_BIT %x 
| ", pow));
                     }
diff --git a/src/main/java/org/apache/bcel/util/ClassSet.java 
b/src/main/java/org/apache/bcel/util/ClassSet.java
index 1ce681a..b2d96a1 100644
--- a/src/main/java/org/apache/bcel/util/ClassSet.java
+++ b/src/main/java/org/apache/bcel/util/ClassSet.java
@@ -64,6 +64,6 @@ public class ClassSet {
 
 
     public String[] getClassNames() {
-        return map.keySet().toArray(new String[map.size()]);
+        return map.keySet().toArray(new String[0]);
     }
 }
diff --git a/src/main/java/org/apache/bcel/util/CodeHTML.java 
b/src/main/java/org/apache/bcel/util/CodeHTML.java
index 3160492..4fc6fb0 100644
--- a/src/main/java/org/apache/bcel/util/CodeHTML.java
+++ b/src/main/java/org/apache/bcel/util/CodeHTML.java
@@ -50,7 +50,7 @@ final class CodeHTML {
     private BitSet gotoSet;
     private final ConstantPool constantPool;
     private final ConstantHTML constantHtml;
-    private static boolean wide = false;
+    private static boolean wide;
 
 
     CodeHTML(final String dir, final String class_name, final Method[] 
methods, final ConstantPool constant_pool,
diff --git a/src/main/java/org/apache/bcel/verifier/PassVerifier.java 
b/src/main/java/org/apache/bcel/verifier/PassVerifier.java
index 8148968..2a55edf 100644
--- a/src/main/java/org/apache/bcel/verifier/PassVerifier.java
+++ b/src/main/java/org/apache/bcel/verifier/PassVerifier.java
@@ -49,7 +49,7 @@ public abstract class PassVerifier {
     /** The (warning) messages. */
     private final List<String> messages = new ArrayList<>();
     /** The VerificationResult cache. */
-    private VerificationResult verificationResult = null;
+    private VerificationResult verificationResult;
 
 
     /**
@@ -99,6 +99,6 @@ public abstract class PassVerifier {
      */
     public String[] getMessages() {
         verify(); // create messages if not already done (cached!)
-        return messages.toArray(new String[messages.size()]);
+        return messages.toArray(new String[0]);
     }
 }
diff --git a/src/main/java/org/apache/bcel/verifier/TransitiveHull.java 
b/src/main/java/org/apache/bcel/verifier/TransitiveHull.java
index 75b077e..0db82f9 100644
--- a/src/main/java/org/apache/bcel/verifier/TransitiveHull.java
+++ b/src/main/java/org/apache/bcel/verifier/TransitiveHull.java
@@ -30,7 +30,7 @@ import org.apache.bcel.classfile.JavaClass;
 public class TransitiveHull implements VerifierFactoryObserver {
 
     /** Used for indentation. */
-    private int indent = 0;
+    private int indent;
 
 
     /** Not publicly instantiable. */
diff --git a/src/main/java/org/apache/bcel/verifier/Verifier.java 
b/src/main/java/org/apache/bcel/verifier/Verifier.java
index 2dd6087..bc7dd0f 100644
--- a/src/main/java/org/apache/bcel/verifier/Verifier.java
+++ b/src/main/java/org/apache/bcel/verifier/Verifier.java
@@ -176,7 +176,7 @@ public class Verifier {
             }
         }
 
-        return messages.toArray(new String[messages.size()]);
+        return messages.toArray(new String[0]);
     }
 
 
diff --git 
a/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java 
b/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java
index 2c8ca3e..0b78f42 100644
--- a/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java
+++ b/src/main/java/org/apache/bcel/verifier/VerifierFactoryListModel.java
@@ -70,7 +70,7 @@ public class VerifierFactoryListModel implements 
VerifierFactoryObserver, javax.
 
     @Override
     public synchronized String getElementAt(final int index) {
-        return cache.toArray(new String[cache.size()])[index];
+        return cache.toArray(new String[0])[index];
     }
 
 }
diff --git a/src/main/java/org/apache/bcel/verifier/VerifyDialog.java 
b/src/main/java/org/apache/bcel/verifier/VerifyDialog.java
index b37e9b3..7a0fa95 100644
--- a/src/main/java/org/apache/bcel/verifier/VerifyDialog.java
+++ b/src/main/java/org/apache/bcel/verifier/VerifyDialog.java
@@ -38,19 +38,19 @@ public class VerifyDialog extends javax.swing.JDialog {
 
     private static final long serialVersionUID = -6374807677043142313L;
     /** Machine-generated. */
-    private javax.swing.JPanel ivjJDialogContentPane = null;
+    private javax.swing.JPanel ivjJDialogContentPane;
     /** Machine-generated. */
-    private javax.swing.JPanel ivjPass1Panel = null;
+    private javax.swing.JPanel ivjPass1Panel;
     /** Machine-generated. */
-    private javax.swing.JPanel ivjPass2Panel = null;
+    private javax.swing.JPanel ivjPass2Panel;
     /** Machine-generated. */
-    private javax.swing.JPanel ivjPass3Panel = null;
+    private javax.swing.JPanel ivjPass3Panel;
     /** Machine-generated. */
-    private javax.swing.JButton ivjPass1Button = null;
+    private javax.swing.JButton ivjPass1Button;
     /** Machine-generated. */
-    private javax.swing.JButton ivjPass2Button = null;
+    private javax.swing.JButton ivjPass2Button;
     /** Machine-generated. */
-    private javax.swing.JButton ivjPass3Button = null;
+    private javax.swing.JButton ivjPass3Button;
     /** Machine-generated. */
     private final IvjEventHandler ivjEventHandler = new IvjEventHandler();
     /**
@@ -87,7 +87,7 @@ public class VerifyDialog extends javax.swing.JDialog {
     }
 
     /** Machine-generated. */
-    private javax.swing.JButton ivjFlushButton = null;
+    private javax.swing.JButton ivjFlushButton;
 
 
     /** Machine-generated. */
@@ -473,7 +473,7 @@ public class VerifyDialog extends javax.swing.JDialog {
         classesToVerify = args.length;
         for (final String arg : args) {
             try {
-                VerifyDialog aVerifyDialog;
+                final VerifyDialog aVerifyDialog;
                 aVerifyDialog = new VerifyDialog(arg);
                 aVerifyDialog.setModal(true);
                 aVerifyDialog.addWindowListener(new 
java.awt.event.WindowAdapter() {
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 dae1eed..61e65bc 100644
--- a/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
+++ b/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java
@@ -1529,7 +1529,7 @@ public final class Pass2Verifier extends PassVerifier 
implements Constants {
      * time even fail to detect missing InnerClasses attributes in pass 2.
      */
     private static class InnerClassDetector extends EmptyVisitor{
-        private boolean hasInnerClass = false;
+        private boolean hasInnerClass;
         private final JavaClass jc;
         private final ConstantPool cp;
 
diff --git 
a/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java 
b/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
index 568f0e6..89b4970 100644
--- a/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
+++ b/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
@@ -76,7 +76,7 @@ public class ControlFlowGraph{
          * The 'execution predecessors' - a list of type InstructionContext
          * of those instances that have been execute()d before in that order.
          */
-        private List<InstructionContext> executionPredecessors = null; // 
Type: InstructionContext
+        private List<InstructionContext> executionPredecessors; // Type: 
InstructionContext
 
         /**
          * Creates an InstructionHandleImpl object from an InstructionHandle.
@@ -258,11 +258,11 @@ public class ControlFlowGraph{
          * by the surrounding ControlFlowGraph.
          */
         private String getExecutionChain() {
-            String s = this.toString();
+            StringBuilder s = new StringBuilder(this.toString());
             for (int i=executionPredecessors.size()-1; i>=0; i--) {
-                s = executionPredecessors.get(i)+"\n" + s;
+                s.insert(0, executionPredecessors.get(i) + "\n");
             }
-            return s;
+            return s.toString();
         }
 
 
diff --git 
a/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java 
b/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
index 66403f2..01e2b7b 100644
--- a/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
+++ b/src/main/java/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
@@ -69,7 +69,7 @@ public class ExceptionHandlers {
         if (hsSet == null) {
             return EMPTY_EXCEPTION_HANDLER_ARRAY;
         }
-        return hsSet.toArray(new ExceptionHandler[hsSet.size()]);
+        return hsSet.toArray(new ExceptionHandler[0]);
     }
 
 }
diff --git 
a/src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java 
b/src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java
index d737ca7..7542b04 100644
--- a/src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java
+++ b/src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java
@@ -63,13 +63,13 @@ public class ExecutionVisitor extends EmptyVisitor{
     /**
      * The executionframe we're operating on.
      */
-    private Frame frame = null;
+    private Frame frame;
 
     /**
      * The ConstantPoolGen we're working with.
      * @see #setConstantPoolGen(ConstantPoolGen)
      */
-    private ConstantPoolGen cpg = null;
+    private ConstantPoolGen cpg;
 
     /**
      * Constructor. Constructs a new instance of this class.
diff --git 
a/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java 
b/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
index 92ec820..c405716 100644
--- 
a/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
+++ 
b/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
@@ -66,21 +66,21 @@ public class InstConstraintVisitor extends EmptyVisitor{
      * @see #locals()
      * @see #stack()
      */
-    private Frame frame = null;
+    private Frame frame;
 
     /**
      * The ConstantPoolGen we're working on.
      *
      * @see #setConstantPoolGen(ConstantPoolGen cpg)
      */
-    private ConstantPoolGen cpg = null;
+    private ConstantPoolGen cpg;
 
     /**
      * The MethodGen we're working on.
      *
      * @see #setMethodGen(MethodGen mg)
      */
-    private MethodGen mg = null;
+    private MethodGen mg;
 
     /**
      * The OperandStack we're working on.
diff --git 
a/src/main/java/org/apache/bcel/verifier/structurals/LocalVariables.java 
b/src/main/java/org/apache/bcel/verifier/structurals/LocalVariables.java
index 25fa020..ed74a37 100644
--- a/src/main/java/org/apache/bcel/verifier/structurals/LocalVariables.java
+++ b/src/main/java/org/apache/bcel/verifier/structurals/LocalVariables.java
@@ -52,9 +52,7 @@ public class LocalVariables implements Cloneable {
     @Override
     public Object clone() {
         final LocalVariables lvs = new LocalVariables(locals.length);
-        for (int i=0; i<locals.length; i++) {
-            lvs.locals[i] = this.locals[i];
-        }
+        System.arraycopy(this.locals, 0, lvs.locals, 0, locals.length);
         return lvs;
     }
 
diff --git a/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java 
b/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
index 9d6f208..7b18b97 100644
--- a/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
+++ b/src/test/java/org/apache/bcel/AbstractCounterVisitorTestCase.java
@@ -27,7 +27,7 @@ public abstract class AbstractCounterVisitorTestCase extends 
AbstractTestCase
 {
     protected abstract JavaClass getTestClass() throws ClassNotFoundException;
 
-    private CounterVisitor visitor = null;
+    private CounterVisitor visitor;
 
     @BeforeEach
     public void setUp() throws ClassNotFoundException
diff --git a/src/test/java/org/apache/bcel/BCELBenchmark.java 
b/src/test/java/org/apache/bcel/BCELBenchmark.java
index ad48cee..1716a99 100644
--- a/src/test/java/org/apache/bcel/BCELBenchmark.java
+++ b/src/test/java/org/apache/bcel/BCELBenchmark.java
@@ -53,7 +53,7 @@ import org.openjdk.jmh.infra.Blackhole;
 public class BCELBenchmark {
 
     private JarFile getJarFile() throws IOException {
-        String javaHome = System.getProperty("java.home");
+        final String javaHome = System.getProperty("java.home");
         return new JarFile(javaHome + "/lib/rt.jar");
     }
 
diff --git a/src/test/java/org/apache/bcel/NanoTimer.java 
b/src/test/java/org/apache/bcel/NanoTimer.java
index cc0cb75..b9534fb 100644
--- a/src/test/java/org/apache/bcel/NanoTimer.java
+++ b/src/test/java/org/apache/bcel/NanoTimer.java
@@ -20,7 +20,7 @@ package org.apache.bcel;
 
 public class NanoTimer {
 
-    private long timeNanos = 0;
+    private long timeNanos;
 
     public NanoTimer start() {
         timeNanos -= System.nanoTime();
diff --git a/src/test/java/org/apache/bcel/generic/AnnotationGenTestCase.java 
b/src/test/java/org/apache/bcel/generic/AnnotationGenTestCase.java
index c66b171..7737941 100644
--- a/src/test/java/org/apache/bcel/generic/AnnotationGenTestCase.java
+++ b/src/test/java/org/apache/bcel/generic/AnnotationGenTestCase.java
@@ -133,7 +133,7 @@ public class AnnotationGenTestCase extends AbstractTestCase
         }
         final byte[] bs = baos.toByteArray();
         final ByteArrayInputStream bais = new ByteArrayInputStream(bs);
-        AnnotationEntryGen annAfter;
+        final AnnotationEntryGen annAfter;
         try (DataInputStream dis = new DataInputStream(bais)) {
             annAfter = AnnotationEntryGen.read(dis, cpg, a.isRuntimeVisible());
         }
diff --git a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java 
b/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
index 509b5c1..682b864 100644
--- a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
+++ b/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
@@ -80,129 +80,129 @@ import org.apache.bcel.classfile.Visitor;
 public class CounterVisitor implements Visitor
 {
     // CHECKSTYLE:OFF (public mutable fields in test code)
-    public int unknownCount = 0;
+    public int unknownCount;
 
-    public int syntheticCount = 0;
+    public int syntheticCount;
 
-    public int stackMapEntryCount = 0;
+    public int stackMapEntryCount;
 
-    public int stackMapCount = 0;
+    public int stackMapCount;
 
-    public int sourceFileCount = 0;
+    public int sourceFileCount;
 
-    public int signatureAnnotationCount = 0;
+    public int signatureAnnotationCount;
 
-    public int parameterAnnotationCount = 0;
+    public int parameterAnnotationCount;
 
-    public int methodCount = 0;
+    public int methodCount;
 
-    public int localVariableTypeTableCount = 0;
+    public int localVariableTypeTableCount;
 
-    public int localVariableTableCount = 0;
+    public int localVariableTableCount;
 
-    public int localVariableCount = 0;
+    public int localVariableCount;
 
-    public int lineNumberTableCount = 0;
+    public int lineNumberTableCount;
 
-    public int lineNumberCount = 0;
+    public int lineNumberCount;
 
-    public int javaClassCount = 0;
+    public int javaClassCount;
 
-    public int innerClassesCount = 0;
+    public int innerClassesCount;
 
-    public int innerClassCount = 0;
+    public int innerClassCount;
 
-    public int fieldCount = 0;
+    public int fieldCount;
 
-    public int exceptionTableCount = 0;
+    public int exceptionTableCount;
 
-    public int enclosingMethodCount = 0;
+    public int enclosingMethodCount;
 
-    public int deprecatedCount = 0;
+    public int deprecatedCount;
 
-    public int constantValueCount = 0;
+    public int constantValueCount;
 
-    public int constantUtf8Count = 0;
+    public int constantUtf8Count;
 
-    public int constantStringCount = 0;
+    public int constantStringCount;
 
-    public int constantNameAndTypeCount = 0;
+    public int constantNameAndTypeCount;
 
-    public int constantPoolCount = 0;
+    public int constantPoolCount;
 
-    public int constantMethodrefCount = 0;
+    public int constantMethodrefCount;
 
-    public int constantLongCount = 0;
+    public int constantLongCount;
 
-    public int constantIntegerCount = 0;
+    public int constantIntegerCount;
 
-    public int constantInterfaceMethodrefCount = 0;
+    public int constantInterfaceMethodrefCount;
 
-    public int constantFloatCount = 0;
+    public int constantFloatCount;
 
-    public int constantFieldrefCount = 0;
+    public int constantFieldrefCount;
 
-    public int constantClassCount = 0;
+    public int constantClassCount;
 
-    public int constantDoubleCount = 0;
+    public int constantDoubleCount;
 
-    public int codeExceptionCount = 0;
+    public int codeExceptionCount;
 
-    public int codeCount = 0;
+    public int codeCount;
 
-    public int annotationEntryCount = 0;
+    public int annotationEntryCount;
 
-    public int annotationDefaultCount = 0;
+    public int annotationDefaultCount;
 
-    public int annotationCount = 0;
+    public int annotationCount;
 
     /** @since 6.0 */
-    public int bootstrapMethodsCount = 0;
+    public int bootstrapMethodsCount;
 
     /** @since 6.0 */
-    public int methodParameterCount = 0;
+    public int methodParameterCount;
 
     /** @since 6.0 */
-    public int methodParametersCount = 0;
+    public int methodParametersCount;
 
     /** @since 6.0 */
-    public int constantInvokeDynamic = 0;
+    public int constantInvokeDynamic;
 
     /** @since 6.1 */
-    public int constantModuleCount = 0;
+    public int constantModuleCount;
 
     /** @since 6.1 */
-    public int constantPackageCount = 0;
+    public int constantPackageCount;
 
     /** @since 6.3 */
-    public int constantDynamicCount = 0;
+    public int constantDynamicCount;
 
     /** @since 6.4.0 */
-    public int moduleCount = 0;
+    public int moduleCount;
 
     /** @since 6.4.0 */
-    public int moduleExportsCount = 0;
+    public int moduleExportsCount;
 
     /** @since 6.4.0 */
-    public int moduleOpensCount = 0;
+    public int moduleOpensCount;
 
     /** @since 6.4.0 */
-    public int moduleProvidesCount = 0;
+    public int moduleProvidesCount;
 
     /** @since 6.4.0 */
-    public int moduleRequiresCount = 0;
+    public int moduleRequiresCount;
 
     /** @since 6.4.0 */
-    public int moduleMainClassCount = 0;
+    public int moduleMainClassCount;
 
     /** @since 6.4.0 */
-    public int modulePackagesCount = 0;
+    public int modulePackagesCount;
 
     /** @since 6.4.0 */
-    public int nestHostCount = 0;
+    public int nestHostCount;
 
     /** @since 6.4.0 */
-    public int nestMembersCount = 0;
+    public int nestMembersCount;
     // CHECKSTYLE:ON
 
 

Reply via email to