This is an automated email from the ASF dual-hosted git repository.
garydgregory 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 d1fbe478 Internal refactoring
d1fbe478 is described below
commit d1fbe478f9bdfb40f5820c29f9a7659e04f9053e
Author: Gary Gregory <[email protected]>
AuthorDate: Tue Jul 21 08:25:24 2026 -0700
Internal refactoring
---
.../org/apache/bcel/generic/CPInstruction.java | 2 +-
src/main/java/org/apache/bcel/generic/IINC.java | 2 +-
.../java/org/apache/bcel/generic/Instruction.java | 23 +++++++++++++++-------
.../bcel/generic/LocalVariableInstruction.java | 2 +-
src/main/java/org/apache/bcel/generic/RET.java | 4 ++--
5 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/apache/bcel/generic/CPInstruction.java
b/src/main/java/org/apache/bcel/generic/CPInstruction.java
index a1375ee6..6e13dead 100644
--- a/src/main/java/org/apache/bcel/generic/CPInstruction.java
+++ b/src/main/java/org/apache/bcel/generic/CPInstruction.java
@@ -112,7 +112,7 @@ public abstract class CPInstruction extends Instruction
implements TypedInstruct
*/
@Override
public void setIndex(final int index) { // TODO could be package-protected?
- if (index < 0 || index > Const.MAX_SHORT) {
+ if (!isNonNegativeUShort(index)) {
throw new ClassGenException("Illegal index: " + index);
}
this.index = index;
diff --git a/src/main/java/org/apache/bcel/generic/IINC.java
b/src/main/java/org/apache/bcel/generic/IINC.java
index 76996f1d..19445dff 100644
--- a/src/main/java/org/apache/bcel/generic/IINC.java
+++ b/src/main/java/org/apache/bcel/generic/IINC.java
@@ -138,7 +138,7 @@ public class IINC extends LocalVariableInstruction {
*/
@Override
public final void setIndex(final int index) {
- if (index < 0 || index > Const.MAX_SHORT) {
+ if (!isNonNegativeUShort(index)) {
throw new ClassGenException("Illegal index: " + index);
}
super.setIndexOnly(index);
diff --git a/src/main/java/org/apache/bcel/generic/Instruction.java
b/src/main/java/org/apache/bcel/generic/Instruction.java
index 3e07fce9..6d8bb718 100644
--- a/src/main/java/org/apache/bcel/generic/Instruction.java
+++ b/src/main/java/org/apache/bcel/generic/Instruction.java
@@ -47,7 +47,17 @@ public abstract class Instruction implements Cloneable {
}
/**
- * Tests if the value can fit in a byte (signed)
+ * Tests if the value can fit in a non-negative short.
+ *
+ * @param value The value to check.
+ * @return true if the value is in range.
+ */
+ static boolean isNonNegativeUShort(final int value) {
+ return value >= 0 && value <= Const.MAX_SHORT;
+ }
+
+ /**
+ * Tests if the value can fit in a byte (signed).
*
* @param value The value to check.
* @return true if the value is in range.
@@ -58,7 +68,7 @@ public abstract class Instruction implements Cloneable {
}
/**
- * Tests if the value can fit in a short (signed)
+ * Tests if the value can fit in a short (signed).
*
* @param value The value to check.
* @return true if the value is in range.
@@ -105,7 +115,6 @@ public abstract class Instruction implements Cloneable {
if (instruction != null) {
return instruction; // Used predefined immutable object, if
available
}
-
switch (opcode) {
case Const.BIPUSH:
obj = new BIPUSH();
@@ -465,7 +474,7 @@ public abstract class Instruction implements Cloneable {
*
* @param cpg The constant pool generator.
* @return Number of words consumed from stack by this instruction, or
Constants.UNPREDICTABLE, if this cannot be
- * computed statically
+ * computed statically.
*/
public int consumeStack(final ConstantPoolGen cpg) {
return Const.getConsumeStack(opcode);
@@ -475,8 +484,8 @@ public abstract class Instruction implements Cloneable {
* Use with caution, since 'BranchInstruction's have a 'target' reference
which is not copied correctly (only basic
* types are). This also applies for 'Select' instructions with their
multiple branch targets.
*
- * @see BranchInstruction
* @return (shallow) copy of an instruction.
+ * @see BranchInstruction
*/
public Instruction copy() {
Instruction i = null;
@@ -588,7 +597,7 @@ public abstract class Instruction implements Cloneable {
*
* @param cpg The constant pool generator.
* @return Number of words produced onto stack by this instruction, or
Constants.UNPREDICTABLE, if this cannot be
- * computed statically
+ * computed statically.
*/
public int produceStack(final ConstantPoolGen cpg) {
return Const.getProduceStack(opcode);
@@ -604,7 +613,7 @@ public abstract class Instruction implements Cloneable {
}
/**
- * Needed in readInstruction and subclasses in this package
+ * Needed in readInstruction and subclasses in this package.
*/
final void setOpcode(final short opcode) {
this.opcode = opcode;
diff --git
a/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java
b/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java
index 7be73e07..48ee24fb 100644
--- a/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java
+++ b/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java
@@ -172,7 +172,7 @@ public abstract class LocalVariableInstruction extends
Instruction implements Ty
*/
@Override
public void setIndex(final int index) { // TODO could be package-protected?
- if (index < 0 || index > Const.MAX_SHORT) {
+ if (!isNonNegativeUShort(index)) {
throw new ClassGenException("Illegal value: " + index);
}
this.n = index;
diff --git a/src/main/java/org/apache/bcel/generic/RET.java
b/src/main/java/org/apache/bcel/generic/RET.java
index 990ee003..783be93a 100644
--- a/src/main/java/org/apache/bcel/generic/RET.java
+++ b/src/main/java/org/apache/bcel/generic/RET.java
@@ -48,7 +48,7 @@ public class RET extends Instruction implements
IndexedInstruction, TypedInstruc
* @param index index of local variable containing the return address.
*/
public RET(final int index) {
- super(org.apache.bcel.Const.RET, (short) 2);
+ super(Const.RET, (short) 2);
setIndex(index); // May set wide as side effect
}
@@ -120,7 +120,7 @@ public class RET extends Instruction implements
IndexedInstruction, TypedInstruc
*/
@Override
public final void setIndex(final int index) {
- if (index < 0 || index > Const.MAX_SHORT) {
+ if (!isNonNegativeUShort(index)) {
throw new ClassGenException("Illegal value: " + index);
}
this.index = index;