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;