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
commit a8ba4e82405dc4f636df94af35fb8ed46dc5f260 Author: Gary Gregory <gardgreg...@gmail.com> AuthorDate: Sat Apr 9 13:38:43 2022 -0400 Checkstyle. --- .../org/apache/bcel/classfile/StackMapEntry.java | 4 +- .../org/apache/bcel/generic/InstructionList.java | 8 ++-- .../bcel/generic/LocalVariableInstruction.java | 10 ++--- .../bcel/verifier/statics/Pass2Verifier.java | 20 ++++----- .../verifier/structurals/ControlFlowGraph.java | 6 +-- .../structurals/InstConstraintVisitor.java | 47 +++++++--------------- .../bcel/verifier/structurals/Subroutines.java | 2 +- 7 files changed, 38 insertions(+), 59 deletions(-) diff --git a/src/main/java/org/apache/bcel/classfile/StackMapEntry.java b/src/main/java/org/apache/bcel/classfile/StackMapEntry.java index d36f8e8c..f953cedb 100644 --- a/src/main/java/org/apache/bcel/classfile/StackMapEntry.java +++ b/src/main/java/org/apache/bcel/classfile/StackMapEntry.java @@ -36,7 +36,7 @@ public final class StackMapEntry implements Node, Cloneable /** * Empty array. */ - private static final StackMapType[] EMPTY_STACK_MAP_TYPE_ARRAY = new StackMapType[0]; + private static final StackMapType[] EMPTY_STACK_MAP_TYPE_ARRAY = {}; private int frameType; private int byteCodeOffset; @@ -244,7 +244,7 @@ public final class StackMapEntry implements Node, Cloneable if (frameType == Const.SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED) { return 3 + (typesOfStackItems[0].hasIndex() ? 3 : 1); } - if ((frameType >= Const.CHOP_FRAME && frameType <= Const.CHOP_FRAME_MAX) || (frameType == Const.SAME_FRAME_EXTENDED)) { + if (frameType >= Const.CHOP_FRAME && frameType <= Const.CHOP_FRAME_MAX || frameType == Const.SAME_FRAME_EXTENDED) { return 3; } if (frameType >= Const.APPEND_FRAME && frameType <= Const.APPEND_FRAME_MAX) { diff --git a/src/main/java/org/apache/bcel/generic/InstructionList.java b/src/main/java/org/apache/bcel/generic/InstructionList.java index 480b436a..d81a3e43 100644 --- a/src/main/java/org/apache/bcel/generic/InstructionList.java +++ b/src/main/java/org/apache/bcel/generic/InstructionList.java @@ -113,7 +113,7 @@ public class InstructionList implements Iterable<InstructionHandle> { * Do a binary search since the pos array is orderd. */ do { - final int i = (l + r) >>> 1; + final int i = l + r >>> 1; final int j = pos[i]; if (j == target) { return ihs[i]; @@ -619,10 +619,10 @@ public class InstructionList implements Iterable<InstructionHandle> { */ public void move(final InstructionHandle start, final InstructionHandle end, final InstructionHandle target) { // Step 1: Check constraints - if ((start == null) || (end == null)) { + if (start == null || end == null) { throw new ClassGenException("Invalid null handle: From " + start + " to " + end); } - if ((target == start) || (target == end)) { + if (target == start || target == end) { throw new ClassGenException("Invalid range: From " + start + " to " + end + " contains target " + target); } for (InstructionHandle ih = start; ih != end.getNext(); ih = ih.getNext()) { @@ -691,7 +691,7 @@ public class InstructionList implements Iterable<InstructionHandle> { private void remove(final InstructionHandle prev, InstructionHandle next) throws TargetLostException { InstructionHandle first; InstructionHandle last; // First and last deleted instruction - if ((prev == null) && (next == null)) { + if (prev == null && next == null) { first = start; last = end; start = end = null; diff --git a/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java b/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java index dc52f72d..0acf0ab8 100644 --- a/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java +++ b/src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java @@ -109,8 +109,8 @@ public abstract class LocalVariableInstruction extends Instruction implements Ty @Override public String toString( final boolean verbose ) { final short _opcode = super.getOpcode(); - if (((_opcode >= Const.ILOAD_0) && (_opcode <= Const.ALOAD_3)) - || ((_opcode >= Const.ISTORE_0) && (_opcode <= Const.ASTORE_3))) { + if (_opcode >= Const.ILOAD_0 && _opcode <= Const.ALOAD_3 + || _opcode >= Const.ISTORE_0 && _opcode <= Const.ASTORE_3) { return super.toString(verbose); } return super.toString(verbose) + " " + n; @@ -130,8 +130,8 @@ public abstract class LocalVariableInstruction extends Instruction implements Ty super.setLength(4); } else { final short _opcode = super.getOpcode(); - if (((_opcode >= Const.ILOAD) && (_opcode <= Const.ALOAD)) - || ((_opcode >= Const.ISTORE) && (_opcode <= Const.ASTORE))) { + if (_opcode >= Const.ILOAD && _opcode <= Const.ALOAD + || _opcode >= Const.ISTORE && _opcode <= Const.ASTORE) { n = bytes.readUnsignedByte(); super.setLength(2); } else if (_opcode <= Const.ALOAD_3) { // compact load instruction such as ILOAD_2 @@ -162,7 +162,7 @@ public abstract class LocalVariableInstruction extends Instruction implements Ty */ @Override public void setIndex( final int n ) { // TODO could be package-protected? - if ((n < 0) || (n > Const.MAX_SHORT)) { + if (n < 0 || n > Const.MAX_SHORT) { throw new ClassGenException("Illegal value: " + n); } this.n = n; 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 25982a62..06da8970 100644 --- a/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java +++ b/src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java @@ -268,10 +268,8 @@ public final class Pass2Verifier extends PassVerifier implements Constants { hashmap.put(nameAndSig, jc.getClassName()); } } - } else { - if (!method.isStatic()) { // static methods don't inherit - hashmap.put(nameAndSig, jc.getClassName()); - } + } else if (!method.isStatic()) { // static methods don't inherit + hashmap.put(nameAndSig, jc.getClassName()); } } @@ -404,13 +402,11 @@ public final class Pass2Verifier extends PassVerifier implements Constants { if (att instanceof InnerClasses) { if (!foundInnerClasses) { foundInnerClasses = true; - } else { - if (hasInnerClass) { - throw new ClassConstraintException("A Classfile structure (like '" + tostring(obj) + - "') must have exactly one InnerClasses attribute"+ - " if at least one Inner Class is referenced (which is the case)."+ - " More than one InnerClasses attribute was found."); - } + } else if (hasInnerClass) { + throw new ClassConstraintException("A Classfile structure (like '" + tostring(obj) + + "') must have exactly one InnerClasses attribute"+ + " if at least one Inner Class is referenced (which is the case)."+ + " More than one InnerClasses attribute was found."); } if (!hasInnerClass) { addMessage("No referenced Inner Class found, but InnerClasses attribute '" + tostring(att) + @@ -928,7 +924,7 @@ public final class Pass2Verifier extends PassVerifier implements Constants { } final Constant c = cp.getConstant(index); - if ((CONST_Long.isInstance(c) && field_type.equals(Type.LONG)) || (CONST_Float.isInstance(c) && field_type.equals(Type.FLOAT))) { + if (CONST_Long.isInstance(c) && field_type.equals(Type.LONG) || CONST_Float.isInstance(c) && field_type.equals(Type.FLOAT)) { return; } if (CONST_Double.isInstance(c) && field_type.equals(Type.DOUBLE)) { 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 749f5372..e2e045b8 100644 --- a/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java +++ b/src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java @@ -169,8 +169,8 @@ public class ControlFlowGraph{ executionPredecessors = clone; // sanity check - if ((lastExecutionJSR() == null && subroutines.subroutineOf(getInstruction()) != subroutines.getTopLevel()) || - (lastExecutionJSR() != null && subroutines.subroutineOf(getInstruction()) == subroutines.getTopLevel())) { + if (lastExecutionJSR() == null && subroutines.subroutineOf(getInstruction()) != subroutines.getTopLevel() || + lastExecutionJSR() != null && subroutines.subroutineOf(getInstruction()) == subroutines.getTopLevel()) { throw new AssertionViolatedException("Huh?! Am I '" + this + "' part of a subroutine or not?"); } @@ -344,7 +344,7 @@ public class ControlFlowGraph{ // Terminates method normally. // Terminates method abnormally, because JustIce mandates // subroutines not to be protected by exception handlers. - if ((inst instanceof ReturnInstruction) || (inst instanceof ATHROW)) { + if (inst instanceof ReturnInstruction || inst instanceof ATHROW) { return InstructionHandle.EMPTY_INSTRUCTION_HANDLE_ARRAY; } 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 246d4892..a64e8437 100644 --- a/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java +++ b/src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java @@ -355,14 +355,12 @@ public class InstConstraintVisitor extends EmptyVisitor{ constraintViolated(o, "Local Variable type and LOADing Instruction type mismatch: Local Variable: '" + locals().get(o.getIndex()) + "'; Instruction type: '" + o.getType(cpg) + "'."); } - } else { // we deal with an ALOAD - if (!(locals().get(o.getIndex()) instanceof ReferenceType)) { - constraintViolated(o, "Local Variable type and LOADing Instruction type mismatch: Local Variable: '" - + locals().get(o.getIndex()) + "'; Instruction expects a ReferenceType."); - } - // ALOAD __IS ALLOWED__ to put uninitialized objects onto the stack! - // referenceTypeIsInitialized(o, (ReferenceType) (locals().get(o.getIndex()))); + } else if (!(locals().get(o.getIndex()) instanceof ReferenceType)) { + constraintViolated(o, "Local Variable type and LOADing Instruction type mismatch: Local Variable: '" + + locals().get(o.getIndex()) + "'; Instruction expects a ReferenceType."); } + // ALOAD __IS ALLOWED__ to put uninitialized objects onto the stack! + // referenceTypeIsInitialized(o, (ReferenceType) (locals().get(o.getIndex()))); // LOAD instructions must have enough free stack slots. if (stack().maxStack() - stack().slotsUsed() < o.getType(cpg).getSize()) { @@ -437,12 +435,9 @@ public class InstConstraintVisitor extends EmptyVisitor{ // constraintViolated(o, "Type on stack top which should be returned is a '"+stack().peek()+ // "' which is not assignment compatible with the return type of this method, '"+mg.getType()+"'."); //} - } - else{ - if (! method_type.equals( stack().peek() )) { - constraintViolated(o, "Current method has return type of '"+mg.getType()+"' expecting a '"+method_type+ - "' on top of the stack. But stack top is a '"+stack().peek()+"'."); - } + } else if (! method_type.equals( stack().peek() )) { + constraintViolated(o, "Current method has return type of '"+mg.getType()+"' expecting a '"+method_type+ + "' on top of the stack. But stack top is a '"+stack().peek()+"'."); } } @@ -998,19 +993,14 @@ public class InstConstraintVisitor extends EmptyVisitor{ if (stack().peek(0).getSize() == 2) { // stack top size is 2, next-to-top's size is 1 - if ( (stack().peek(1).getSize() == 2) || (stack().peek(2).getSize() == 1) ) { + if ( stack().peek(1).getSize() == 2 || stack().peek(2).getSize() == 1 ) { return; // Form 2 } constraintViolated(o, "If stack top's size is 2 and stack-next-to-top's size is 1,"+ " then stack next-to-next-to-top's size must also be 1. But it is '"+stack().peek(2)+ "' of size '"+stack().peek(2).getSize()+"'."); - } - else{// stack top is of size 1 - if (stack().peek(1).getSize() == 1) { - if ( (stack().peek(2).getSize() == 2) || (stack().peek(3).getSize() == 1)) { - return; // Form 1 - } - } + } else if ( stack().peek(1).getSize() == 1 && (stack().peek(2).getSize() == 2 || stack().peek(3).getSize() == 1)) { + return; // Form 1 } constraintViolated(o, "The operand sizes on the stack do not match any of the four forms of usage of this instruction."); } @@ -2727,11 +2717,8 @@ public class InstConstraintVisitor extends EmptyVisitor{ if (!rvalue.isAssignmentCompatibleWith(shouldbe)) { constraintViolated(o, "The stack top type '"+value+"' is not assignment compatible with '"+shouldbe+"'."); } - } - else{ - if (shouldbe != value) { - constraintViolated(o, "The stack top type '"+value+"' is not of type '"+shouldbe+"' as expected."); - } + } else if (shouldbe != value) { + constraintViolated(o, "The stack top type '"+value+"' is not of type '"+shouldbe+"' as expected."); } if (f.isProtected()) { @@ -2820,13 +2807,9 @@ public class InstConstraintVisitor extends EmptyVisitor{ constraintViolated(o, "The stack top type '"+value+"' is not assignment compatible with '"+shouldbe+"'."); } } - else{ - if (shouldbe != value) { - constraintViolated(o, "The stack top type '"+value+"' is not of type '"+shouldbe+"' as expected."); - } + else if (shouldbe != value) { + constraintViolated(o, "The stack top type '"+value+"' is not of type '"+shouldbe+"' as expected."); } - // TODO: Interface fields may be assigned to only once. (Hard to implement in - // JustIce's execution model). This may only happen in <clinit>, see Pass 3a. } catch (final ClassNotFoundException e) { // FIXME: maybe not the best way to handle this diff --git a/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java b/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java index e423c624..ce8c5e87 100644 --- a/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java +++ b/src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java @@ -627,7 +627,7 @@ public class Subroutines{ // Terminates method normally. // Terminates method abnormally, because JustIce mandates // subroutines not to be protected by exception handlers. - if ((inst instanceof RET) || (inst instanceof ReturnInstruction) || (inst instanceof ATHROW)) { + if (inst instanceof RET || inst instanceof ReturnInstruction || inst instanceof ATHROW) { return InstructionHandle.EMPTY_INSTRUCTION_HANDLE_ARRAY; }