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;

Reply via email to