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


The following commit(s) were added to refs/heads/master by this push:
     new 60c69fd0d Refactor some empty arrays into constants
60c69fd0d is described below

commit 60c69fd0d842a184e8b1af5081ae2fbf73716552
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Feb 12 09:53:49 2024 -0500

    Refactor some empty arrays into constants
---
 .../commons/compress/archivers/sevenz/AES256Options.java     |  4 +++-
 .../org/apache/commons/compress/harmony/pack200/Archive.java |  4 +++-
 .../org/apache/commons/compress/harmony/pack200/BandSet.java |  4 +++-
 .../apache/commons/compress/harmony/pack200/ClassBands.java  |  6 ++++--
 .../commons/compress/harmony/pack200/CodecEncoding.java      | 12 +++++++-----
 .../commons/compress/harmony/unpack200/SegmentHeader.java    |  4 +++-
 6 files changed, 23 insertions(+), 11 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/compress/archivers/sevenz/AES256Options.java 
b/src/main/java/org/apache/commons/compress/archivers/sevenz/AES256Options.java
index cf1d15895..b14d7b768 100644
--- 
a/src/main/java/org/apache/commons/compress/archivers/sevenz/AES256Options.java
+++ 
b/src/main/java/org/apache/commons/compress/archivers/sevenz/AES256Options.java
@@ -33,6 +33,8 @@ import javax.crypto.spec.SecretKeySpec;
  */
 final class AES256Options {
 
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
     static final String ALGORITHM = "AES";
 
     static final String TRANSFORMATION = "AES/CBC/NoPadding";
@@ -62,7 +64,7 @@ final class AES256Options {
      * @param password password used for encryption
      */
     AES256Options(final char[] password) {
-        this(password, new byte[0], randomBytes(16), 19);
+        this(password, EMPTY_BYTE_ARRAY, randomBytes(16), 19);
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/pack200/Archive.java 
b/src/main/java/org/apache/commons/compress/harmony/pack200/Archive.java
index 4256a8936..d23b0e4d8 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/Archive.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/Archive.java
@@ -33,6 +33,8 @@ import java.util.zip.ZipEntry;
  */
 public class Archive {
 
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
     static class PackingFile {
 
         private final String name;
@@ -207,7 +209,7 @@ public class Archive {
             final Pack200ClassReader classParser = new 
Pack200ClassReader(packingFile.contents);
             classParser.setFileName(name);
             javaClasses.add(classParser);
-            packingFile.contents = new byte[0];
+            packingFile.contents = EMPTY_BYTE_ARRAY;
         }
         files.add(packingFile);
         return true;
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java 
b/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
index 64ada47ec..4195b2c57 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
@@ -30,6 +30,8 @@ import java.util.stream.IntStream;
  */
 public abstract class BandSet {
 
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
     /**
      * Results obtained by trying different Codecs to encode a band
      */
@@ -414,7 +416,7 @@ public abstract class BandSet {
             }
             return encodedBand;
         }
-        return new byte[0];
+        return EMPTY_BYTE_ARRAY;
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java 
b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
index ea458759a..33997617f 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
@@ -37,6 +37,8 @@ import org.objectweb.asm.Opcodes;
  */
 public class ClassBands extends BandSet {
 
+    private static final long[] EMPTY_LONG_ARRAY = new long[0];
+
     private static final class TempParamAnnotation {
 
         int numParams;
@@ -224,8 +226,8 @@ public class ClassBands extends BandSet {
         method_descr = new CPNameAndType[numClasses][];
         method_flags = new long[numClasses][];
         for (int i = 0; i < numClasses; i++) {
-            field_flags[i] = new long[0];
-            method_flags[i] = new long[0];
+            field_flags[i] = EMPTY_LONG_ARRAY;
+            method_flags[i] = EMPTY_LONG_ARRAY;
         }
         // minor_versions = new int[numClasses];
         major_versions = new int[numClasses];
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/pack200/CodecEncoding.java 
b/src/main/java/org/apache/commons/compress/harmony/pack200/CodecEncoding.java
index 97865d30a..1cfc2fe22 100644
--- 
a/src/main/java/org/apache/commons/compress/harmony/pack200/CodecEncoding.java
+++ 
b/src/main/java/org/apache/commons/compress/harmony/pack200/CodecEncoding.java
@@ -28,6 +28,8 @@ import java.util.Map;
  */
 public class CodecEncoding {
 
+    private static final int[] EMPTY_INT_ARRAY = new int[0];
+
     /**
      * The canonical encodings are defined to allow a single byte to represent 
one of the standard encodings. The following values are defined in the Pack200
      * specification, and this array cannot be changed.
@@ -213,8 +215,8 @@ public class CodecEncoding {
                 abDef = 2;
             }
             final int first = 117 + kb + (kx == 3 ? 0 : 4) + 8 * abDef;
-            final int[] aSpecifier = abDef == 1 ? new int[0] : 
getSpecifier(aCodec, defaultForBand);
-            final int[] bSpecifier = abDef == 2 ? new int[0] : 
getSpecifier(bCodec, defaultForBand);
+            final int[] aSpecifier = abDef == 1 ? EMPTY_INT_ARRAY : 
getSpecifier(aCodec, defaultForBand);
+            final int[] bSpecifier = abDef == 2 ? EMPTY_INT_ARRAY : 
getSpecifier(bCodec, defaultForBand);
             final int[] specifier = new int[1 + (kx == 3 ? 0 : 1) + 
aSpecifier.length + bSpecifier.length];
             specifier[0] = first;
             int index = 1;
@@ -258,9 +260,9 @@ public class CodecEncoding {
                 }
             }
             final int first = 141 + fDef + 2 * uDef + 4 * tDefL;
-            final int[] favouredSpecifier = fDef == 1 ? new int[0] : 
getSpecifier(favouredCodec, defaultForBand);
-            final int[] tokenSpecifier = tDefL != 0 ? new int[0] : 
getSpecifier(tokenCodec, defaultForBand);
-            final int[] unfavouredSpecifier = uDef == 1 ? new int[0] : 
getSpecifier(unfavouredCodec, defaultForBand);
+            final int[] favouredSpecifier = fDef == 1 ? EMPTY_INT_ARRAY : 
getSpecifier(favouredCodec, defaultForBand);
+            final int[] tokenSpecifier = tDefL != 0 ? EMPTY_INT_ARRAY : 
getSpecifier(tokenCodec, defaultForBand);
+            final int[] unfavouredSpecifier = uDef == 1 ? EMPTY_INT_ARRAY : 
getSpecifier(unfavouredCodec, defaultForBand);
             final int[] specifier = new int[1 + favouredSpecifier.length + 
unfavouredSpecifier.length + tokenSpecifier.length];
             specifier[0] = first;
             int index = 1;
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/SegmentHeader.java
 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/SegmentHeader.java
index 2912b7488..01b1b12d4 100644
--- 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/SegmentHeader.java
+++ 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/SegmentHeader.java
@@ -30,6 +30,8 @@ import 
org.apache.commons.compress.harmony.pack200.Pack200Exception;
  */
 public class SegmentHeader {
 
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
     /**
      * The magic header for a Pack200 Segment is 0xCAFED00D. I wonder where 
they get their inspiration from ...
      */
@@ -153,7 +155,7 @@ public class SegmentHeader {
      */
     public InputStream getBandHeadersInputStream() {
         if (bandHeadersInputStream == null) {
-            bandHeadersInputStream = new ByteArrayInputStream(new byte[0]);
+            bandHeadersInputStream = new 
ByteArrayInputStream(EMPTY_BYTE_ARRAY);
         }
         return bandHeadersInputStream;
 

Reply via email to