src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java (20 lines): - line 47: * satisfied. TODO: Currently, the JVM's behavior concerning monitors (MONITORENTER, MONITOREXIT) is not modeled in - line 153: public void setConstantPoolGen(final ConstantPoolGen cpg) { // TODO could be package-protected? - line 164: public void setFrame(final Frame f) { // TODO could be package-protected? - line 336: // FIXME: maybe not the best way to handle this - line 939: // TODO: This can possibly only be checked using Staerk-et-al's "set-of-object types", not - line 1066: // TODO: One day move to Staerk-et-al's "Set of object types" instead of "wider" object types - line 1077: // TODO: Could go into Pass 3a. - line 1083: // FIXME: maybe not the best way to handle this - line 1565: // TODO: Do we want to do anything with it? - line 1593: // TODO: This can only be checked when using Staerk-et-al's "set of object types" - line 1624: // TODO: This can only be checked if we're using Staerk-et-al's "set of object types" - line 1663: // TODO: This can possibly only be checked when using Staerk-et-al's "set of object types" instead - line 1729: // FIXME: maybe not the best way to handle this - line 1743: // FIXME: maybe not the best way to handle this - line 1781: // FIXME: maybe not the best way to handle this - line 2447: // TODO: Could go into Pass 3a. - line 2453: // FIXME: maybe not the best way to handle this - line 2466: // FIXME: maybe not the best way to handle this - line 2524: // TODO: This can only be checked if using Staerk-et-al's "set of object types" instead of a - line 2592: * method to be called two or three times. [TODO: Fix this.] src/main/java/org/apache/bcel/verifier/statics/Pass3aVerifier.java (17 lines): - line 225: // FIXME: maybe not the best way to handle this - line 335: // FIXME: maybe not the best way to handle this - line 383: // FIXME: maybe not the best way to handle this - line 457: // TODO: From time to time check if BCEL allows to detect if the - line 523: // FIXME: maybe not the best way to handle this - line 576: // FIXME: maybe not the best way to handle this - line 601: // FIXME: maybe not the best way to handle this - line 631: // FIXME: maybe not the best way to handle this - line 837: // FIXME: maybe not the best way to handle this - line 924: // TODO: Make this a binary search! The instructionPositions array is naturally ordered! - line 1027: // TODO: - line 1065: // FIXME: maybe not the best way to handle this - line 1105: // TODO: Check how BCEL handles (and will handle) instructions like IMPDEP1, IMPDEP2, - line 1148: // TODO: see the do_verify() comments. Maybe we should really work on the - line 1150: // TODO: Review Exception API, possibly build in some "offending instruction" thing - line 1154: // TODO: Implement as much as possible here. BCEL does _not_ check everything. - line 1186: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java (10 lines): - line 226: // TODO: rework it. - line 322: // FIXME: this might not be the best way to handle missing classes. - line 551: // FIXME: this might not be the best way to handle missing classes. - line 677: // [marked TODO in JustIce] - line 1176: * TODO: implement. Are there any restrictions? - line 1277: // FIXME: this might not be the best way to handle missing classes. - line 1319: // FIXME: this might not be the best way to handle missing classes. - line 1367: // FIXME: this might not be the best way to handle missing classes. - line 1389: // FIXME: this might not be the best way to handle missing classes. - line 1435: // FIXME: this might not be the best way to handle missing classes. src/main/java/org/apache/bcel/generic/Select.java (7 lines): - line 42: protected int[] match; // matches, i.e., case 1: ... TODO could be package-protected? - line 48: protected int[] indices; // target offsets TODO could be package-protected? - line 54: protected InstructionHandle[] targets; // target objects in instruction list TODO could be package-protected? - line 60: protected int fixed_length; // fixed length defined by subclasses TODO could be package-protected? - line 66: protected int match_length; // number of cases TODO could be package-protected? - line 72: protected int padding; // number of pad bytes for alignment TODO could be package-protected? - line 291: public void setTarget(final int i, final InstructionHandle target) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/MethodGen.java (6 lines): - line 640: // J5TODO: Should paramAnnotations be an array of arrays? Rather than an array of lists, this - line 1046: public void setClassName(final String className) { // TODO could be package-protected? - line 1050: public void setInstructionList(final InstructionList il) { // TODO could be package-protected? - line 1057: public void setMaxLocals() { // TODO could be package-protected? (some tests would need repackaging) - line 1088: public void setMaxStack() { // TODO could be package-protected? (some tests would need repackaging) - line 1099: public void setMaxStack(final int m) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/ReferenceType.java (6 lines): - line 60: * TODO: Above sounds a little arbitrary. On the other hand, there is no object referenced by {@link #NULL} so we can also - line 67: // TODO: Is there a proof of {@link #OBJECT} being the direct ancestor of every ArrayType? - line 91: * TODO: Above sounds a little arbitrary. On the other hand, there is no object referenced by {@link #NULL} so we can also - line 108: // TODO: Is there a proof of {@link #OBJECT} being the direct ancestor of every ArrayType? - line 117: // TODO: The above line is correct comparing to the vmspec2. But one could - line 229: // TODO: Check if this is still valid or find a way to dynamically find out which src/conf/spotbugs-exclude-filter.xml (5 lines): - line 83: TODO: this should probably be sinplified - line 104: - line 151: TODO: field is deprecated in preparation for making it private later - line 162: - line 168: src/main/java/org/apache/bcel/classfile/LocalVariable.java (5 lines): - line 137: // TODO should this throw? - line 230: public void setIndex(final int index) { // TODO unused - line 244: public void setNameIndex(final int nameIndex) { // TODO unused - line 251: public void setSignatureIndex(final int signatureIndex) { // TODO unused - line 258: public void setStartPC(final int startPc) { // TODO unused src/main/java/org/apache/bcel/generic/ClassGen.java (5 lines): - line 115: // J5TODO: Could make unpacking lazy, done on first reference - line 295: // J5TODO: Should we make calling unpackAnnotations() lazy and put it in here? - line 346: // TODO: Sometime later, trash any attributes called 'RuntimeVisibleAnnotations' or 'RuntimeInvisibleAnnotations' - line 492: public void setMajor(final int major) { // TODO could be package-protected - only called by test code - line 512: public void setMinor(final int minor) { // TODO could be package-protected - only called by test code src/main/java/org/apache/bcel/verifier/structurals/Pass3bVerifier.java (4 lines): - line 59: * TODO: Throughout pass 3b, upper halves of LONG and DOUBLE are represented by Type.UNKNOWN. This should be changed in - line 251: // TODO: the "oldchain" and "newchain" is used to determine the subroutine - line 275: // TODO: This is buggy, we check only the top-level return instructions this way. - line 340: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/generic/FieldGenOrMethodGen.java (4 lines): - line 63: protected FieldGenOrMethodGen(final int accessFlags) { // TODO could this be package protected? - line 160: public void setConstantPool(final ConstantPoolGen cp) { // TODO could be package-protected? - line 165: public void setName(final String name) { // TODO could be package-protected? - line 170: public void setType(final Type type) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/ConstantPoolGen.java (4 lines): - line 203: // // TODO should this be handled somehow? - line 205: // // TODO should this be handled somehow? - line 207: // // TODO should this be handled somehow? - line 209: // // TODO should this be handled somehow? src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java (4 lines): - line 56: * TODO: refer to the paper. - line 148: // TODO: Implement caching. - line 400: public final Subroutine TOPLEVEL; // TODO can this be made private? - line 483: * top-level code, too. [why top-level? TODO: Refer to the special JustIce notion of subroutines.] src/main/java/org/apache/bcel/verifier/structurals/ControlFlowGraph.java (4 lines): - line 97: // TODO: implement caching! - line 110: //TODO: remove. Only JustIce must not use it, but foreign users of the ControlFlowGraph - line 319: // TODO: Can be performance-improved. - line 344: // TODO: Put information in the brackets, for example src/main/java/org/apache/bcel/classfile/Attribute.java (4 lines): - line 231: protected int name_index; // Points to attribute name in constant pool TODO make private (has getter & setter) - line 237: protected int length; // Content length of attribute field TODO make private (has getter & setter) - line 243: protected byte tag; // Tag to distinguish subclasses TODO make private & final; supposed to be immutable - line 249: protected ConstantPool constant_pool; // TODO make private (has getter & setter) src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java (3 lines): - line 93: public void setConstantPoolGen(final ConstantPoolGen cpg) { // TODO could be package-protected? - line 103: public void setFrame(final Frame f) { // TODO could be package-protected? - line 234: // TODO: One could use a sophisticated analysis here to check src/main/java/org/apache/bcel/generic/CodeExceptionGen.java (3 lines): - line 125: public void setEndPC(final InstructionHandle endPc) { // TODO could be package-protected? - line 135: public void setHandlerPC(final InstructionHandle handlerPc) { // TODO could be package-protected? - line 145: public void setStartPC(final InstructionHandle startPc) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/CodeException.java (3 lines): - line 131: // TODO should this throw? - line 194: public void setHandlerPC(final int handlerPc) { // TODO unused - line 201: public void setStartPC(final int startPc) { // TODO unused src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java (3 lines): - line 117: // FIXME: report the error using the GUI - line 244: // FIXME: handle the error - line 273: // FIXME: handle the error src/main/java/org/apache/bcel/classfile/InnerClass.java (3 lines): - line 90: // TODO should this throw? - line 153: public void setInnerNameIndex(final int innerNameIndex) { // TODO unused - line 160: public void setOuterClassIndex(final int outerClassIndex) { // TODO unused src/main/java/org/apache/bcel/verifier/structurals/LocalVariables.java (3 lines): - line 176: * TODO if ((locals[i] instanceof org.apache.bcel.generic.ReturnaddressType) && (lv.locals[i] instanceof - line 183: // FIXME: maybe not the best way to handle this - line 194: public void set(final int slotIndex, final Type type) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/ElementValue.java (3 lines): - line 114: // TODO isRuntimeVisible - line 139: protected int type; // TODO should be final - line 144: protected ConstantPool cpool; // TODO should be final src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java (2 lines): - line 162: * Sets the local variable index. also updates opcode and length TODO Why? - line 167: public void setIndex(final int n) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/LocalVariableGen.java (2 lines): - line 182: public void setEnd(final InstructionHandle end) { // TODO could be package-protected? - line 200: public void setStart(final InstructionHandle start) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/Type.java (2 lines): - line 323: protected byte type; // TODO should be final (and private) - line 329: protected String signature; // signature for the type TODO should be private src/main/java/org/apache/bcel/classfile/StackMapEntry.java (2 lines): - line 335: public void setNumberOfLocals(final int n) { // TODO unused - line 343: public void setNumberOfStackItems(final int n) { // TODO unused src/main/java/org/apache/bcel/verifier/statics/Pass1Verifier.java (2 lines): - line 153: // TODO: Maybe change Repository's behavior to throw a LoadingException instead of just returning "null" - line 167: // FIXME: currently, Pass1Verifier treats jc == null as a special src/main/java/org/apache/bcel/classfile/JavaClass.java (2 lines): - line 423: * TODO: Check if assignment compatibility is sufficient. What does Sun do? - line 872: public void setRepository(final org.apache.bcel.util.Repository repository) { // TODO make protected? src/main/java/org/apache/bcel/generic/InstructionHandle.java (2 lines): - line 222: public void setInstruction(final Instruction i) { // Overridden in BranchHandle TODO could be package-protected? - line 268: // TODO remove this method in any redesign of BCEL src/main/java/org/apache/bcel/generic/InstructionList.java (2 lines): - line 1072: public void setPositions() { // TODO could be package-protected? (some test code would need to be repackaged) - line 1135: // TODO should this be an error? src/main/java/org/apache/bcel/classfile/ConstantCP.java (2 lines): - line 46: protected int class_index; // TODO make private (has getter & setter) - line 53: protected int name_and_type_index; // TODO make private (has getter & setter) src/main/java/org/apache/bcel/generic/LineNumberGen.java (2 lines): - line 84: public void setInstruction(final InstructionHandle instructionHandle) { // TODO could be package-protected? - line 90: public void setSourceLine(final int srcLine) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/Code.java (2 lines): - line 64: private int maxStack; // Maximum size of stack used by this method // TODO this could be made final (setter is not used) - line 65: private int maxLocals; // Number of local variables // TODO this could be made final (setter is not used) src/main/java/org/apache/bcel/classfile/Constant.java (2 lines): - line 126: protected byte tag; // TODO should be private & final - line 157: // TODO should this throw? src/main/java/org/apache/bcel/classfile/MethodParameter.java (1 line): - line 73: // TODO should this throw? src/main/java/org/apache/bcel/classfile/BootstrapMethod.java (1 line): - line 92: // TODO should this throw? src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java (1 line): - line 165: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/classfile/InnerClasses.java (1 line): - line 102: // TODO this could be recoded to use a lower level constructor after creating a copy of the inner classes src/main/java/org/apache/bcel/generic/CPInstruction.java (1 line): - line 109: public void setIndex(final int index) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/ConstantUtf8.java (1 line): - line 87: // TODO these should perhaps be AtomicInt? src/main/java/org/apache/bcel/classfile/ModuleExports.java (1 line): - line 80: // TODO should this throw? src/main/java/org/apache/bcel/generic/BranchHandle.java (1 line): - line 67: public void setInstruction(final Instruction i) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/AnnotationEntry.java (1 line): - line 125: // TODO return List src/main/java/org/apache/bcel/classfile/LineNumber.java (1 line): - line 89: // TODO should this throw? src/main/java/org/apache/bcel/classfile/StackMapType.java (1 line): - line 92: // TODO should this throw? src/main/java/org/apache/bcel/classfile/AccessFlags.java (1 line): - line 34: protected int access_flags; // TODO not used externally at present src/main/java/org/apache/bcel/classfile/BootstrapMethods.java (1 line): - line 39: private BootstrapMethod[] bootstrapMethods; // TODO this could be made final (setter is not used) src/main/java/org/apache/bcel/generic/ElementValueGen.java (1 line): - line 117: // TODO: isRuntimeVisible ?????????? src/main/java/org/apache/bcel/classfile/ConstantPool.java (1 line): - line 223: // TODO should this throw? src/main/java/org/apache/bcel/verifier/exc/LinkingConstraintException.java (1 line): - line 29: * the above mentioned book. TODO: At this time, this class is not used in JustIce. src/main/java/org/apache/bcel/verifier/VerifyDialog.java (1 line): - line 535: // FIXME: report the error src/main/java/org/apache/bcel/classfile/LineNumberTable.java (1 line): - line 101: // TODO could use the lower level constructor and thereby allow src/main/java/org/apache/bcel/classfile/Annotations.java (1 line): - line 91: // TODO Auto-generated method stub src/main/java/org/apache/bcel/generic/Instruction.java (1 line): - line 559: this.length = (short) length; // TODO check range? src/main/java/org/apache/bcel/Constants.java (1 line): - line 2422: // TODO: mutable public array!! src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java (1 line): - line 58: // J5TODO: Needs some testing ! src/main/java/org/apache/bcel/classfile/ModuleProvides.java (1 line): - line 82: // TODO should this throw? src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java (1 line): - line 67: // TODO isRuntimeVisible src/main/java/org/apache/bcel/generic/LDC.java (1 line): - line 71: if (super.getLength() == 2) { // TODO useless check? src/main/java/org/apache/bcel/classfile/ModuleRequires.java (1 line): - line 71: // TODO should this throw? src/main/java/org/apache/bcel/util/ClassQueue.java (1 line): - line 34: protected LinkedList vec = new LinkedList<>(); // TODO not used externally src/main/java/org/apache/bcel/classfile/ModuleOpens.java (1 line): - line 80: // TODO should this throw? src/main/java/org/apache/bcel/generic/ArrayElementValueGen.java (1 line): - line 35: // J5TODO: Should we make this an array or a list? A list would be easier to src/main/java/org/apache/bcel/generic/InstructionComparator.java (1 line): - line 39: // } else if (i1 == i2) { TODO consider adding this shortcut