src/main/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java (20 lines): - line 43: * satisfied. TODO: Currently, the JVM's behavior concerning monitors (MONITORENTER, MONITOREXIT) is not modeled in - line 149: public void setConstantPoolGen(final ConstantPoolGen cpg) { // TODO could be package-protected? - line 160: public void setFrame(final Frame f) { // TODO could be package-protected? - line 332: // FIXME: maybe not the best way to handle this - line 935: // TODO: This can possibly only be checked using Staerk-et-al's "set-of-object types", not - line 1062: // TODO: One day move to Staerk-et-al's "Set of object types" instead of "wider" object types - line 1073: // TODO: Could go into Pass 3a. - line 1079: // FIXME: maybe not the best way to handle this - line 1561: // TODO: Do we want to do anything with it? - line 1589: // TODO: This can only be checked when using Staerk-et-al's "set of object types" - line 1620: // TODO: This can only be checked if we're using Staerk-et-al's "set of object types" - line 1659: // TODO: This can possibly only be checked when using Staerk-et-al's "set of object types" instead - line 1725: // FIXME: maybe not the best way to handle this - line 1739: // FIXME: maybe not the best way to handle this - line 1777: // FIXME: maybe not the best way to handle this - line 2438: // TODO: Could go into Pass 3a. - line 2444: // FIXME: maybe not the best way to handle this - line 2457: // FIXME: maybe not the best way to handle this - line 2515: // TODO: This can only be checked if using Staerk-et-al's "set of object types" instead of a - line 2583: * method to be called two or three times. [TODO: Fix this.] src/main/java/org/apache/bcel/verifier/statics/Pass3aVerifier.java (17 lines): - line 220: // FIXME: maybe not the best way to handle this - line 330: // FIXME: maybe not the best way to handle this - line 378: // FIXME: maybe not the best way to handle this - line 452: // TODO: From time to time check if BCEL allows to detect if the - line 518: // FIXME: maybe not the best way to handle this - line 571: // FIXME: maybe not the best way to handle this - line 596: // FIXME: maybe not the best way to handle this - line 626: // FIXME: maybe not the best way to handle this - line 831: // FIXME: maybe not the best way to handle this - line 918: // TODO: Make this a binary search! The instructionPositions array is naturally ordered! - line 1021: // TODO: - line 1060: // FIXME: maybe not the best way to handle this - line 1100: // TODO: Check how BCEL handles (and will handle) instructions like IMPDEP1, IMPDEP2, - line 1143: // TODO: see the do_verify() comments. Maybe we should really work on the - line 1145: // TODO: Review Exception API, possibly build in some "offending instruction" thing - line 1149: // TODO: Implement as much as possible here. BCEL does _not_ check everything. - line 1181: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/verifier/statics/Pass2Verifier.java (10 lines): - line 224: // TODO: rework it. - line 320: // FIXME: this might not be the best way to handle missing classes. - line 549: // FIXME: this might not be the best way to handle missing classes. - line 675: // [marked TODO in JustIce] - line 1174: * TODO: implement. Are there any restrictions? - line 1275: // FIXME: this might not be the best way to handle missing classes. - line 1317: // FIXME: this might not be the best way to handle missing classes. - line 1365: // FIXME: this might not be the best way to handle missing classes. - line 1387: // FIXME: this might not be the best way to handle missing classes. - line 1433: // FIXME: this might not be the best way to handle missing classes. src/main/java/org/apache/bcel/generic/Select.java (7 lines): - line 40: protected int[] match; // matches, i.e., case 1: ... TODO could be package-protected? - line 46: protected int[] indices; // target offsets TODO could be package-protected? - line 52: protected InstructionHandle[] targets; // target objects in instruction list TODO could be package-protected? - line 58: protected int fixed_length; // fixed length defined by subclasses TODO could be package-protected? - line 64: protected int match_length; // number of cases TODO could be package-protected? - line 70: protected int padding; // number of pad bytes for alignment TODO could be package-protected? - line 289: 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 639: // J5TODO: Should paramAnnotations be an array of arrays? Rather than an array of lists, this - line 1051: public void setClassName(final String className) { // TODO could be package-protected? - line 1055: public void setInstructionList(final InstructionList il) { // TODO could be package-protected? - line 1062: public void setMaxLocals() { // TODO could be package-protected? (some tests would need repackaging) - line 1095: public void setMaxStack() { // TODO could be package-protected? (some tests would need repackaging) - line 1106: public void setMaxStack(final int m) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/ReferenceType.java (6 lines): - line 58: * TODO: Above sounds a little arbitrary. On the other hand, there is no object referenced by Type.NULL so we can also - line 65: // TODO: Is there a proof of OBJECT being the direct ancestor of every ArrayType? - line 89: * TODO: Above sounds a little arbitrary. On the other hand, there is no object referenced by Type.NULL so we can also - line 106: // TODO: Is there a proof of OBJECT being the direct ancestor of every ArrayType? - line 115: // TODO: The above line is correct comparing to the vmspec2. But one could - line 227: // TODO: Check if this is still valid or find a way to dynamically find out which src/main/java/org/apache/bcel/classfile/LocalVariable.java (5 lines): - line 136: // TODO should this throw? - line 229: public void setIndex(final int index) { // TODO unused - line 243: public void setNameIndex(final int nameIndex) { // TODO unused - line 250: public void setSignatureIndex(final int signatureIndex) { // TODO unused - line 257: public void setStartPC(final int startPc) { // TODO unused src/main/java/org/apache/bcel/generic/ClassGen.java (5 lines): - line 116: // J5TODO: Could make unpacking lazy, done on first reference - line 285: // J5TODO: Should we make calling unpackAnnotations() lazy and put it in here? - line 336: // TODO: Sometime later, trash any attributes called 'RuntimeVisibleAnnotations' or 'RuntimeInvisibleAnnotations' - line 482: public void setMajor(final int major) { // TODO could be package-protected - only called by test code - line 500: 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 57: * TODO: Throughout pass 3b, upper halves of LONG and DOUBLE are represented by Type.UNKNOWN. This should be changed in - line 249: // TODO: the "oldchain" and "newchain" is used to determine the subroutine - line 273: // TODO: This is buggy, we check only the top-level return instructions this way. - line 338: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/generic/FieldGenOrMethodGen.java (4 lines): - line 61: protected FieldGenOrMethodGen(final int accessFlags) { // TODO could this be package protected? - line 156: public void setConstantPool(final ConstantPoolGen cp) { // TODO could be package-protected? - line 161: public void setName(final String name) { // TODO could be package-protected? - line 166: public void setType(final Type type) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/ConstantPoolGen.java (4 lines): - line 202: // // TODO should this be handled somehow? - line 204: // // TODO should this be handled somehow? - line 206: // // TODO should this be handled somehow? - line 208: // // TODO should this be handled somehow? src/main/java/org/apache/bcel/verifier/structurals/Subroutines.java (4 lines): - line 54: * TODO: refer to the paper. - line 145: // TODO: Implement caching. - line 397: public final Subroutine TOPLEVEL; // TODO can this be made private? - line 480: * 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 96: // TODO: implement caching! - line 109: //TODO: remove. Only JustIce must not use it, but foreign users of the ControlFlowGraph - line 327: // TODO: Can be performance-improved. - line 352: // TODO: Put information in the brackets, e.g. src/main/java/org/apache/bcel/classfile/Attribute.java (4 lines): - line 229: protected int name_index; // Points to attribute name in constant pool TODO make private (has getter & setter) - line 235: protected int length; // Content length of attribute field TODO make private (has getter & setter) - line 241: protected byte tag; // Tag to distinguish subclasses TODO make private & final; supposed to be immutable - line 247: protected ConstantPool constant_pool; // TODO make private (has getter & setter) src/main/java/org/apache/bcel/verifier/structurals/ExecutionVisitor.java (3 lines): - line 90: public void setConstantPoolGen(final ConstantPoolGen cpg) { // TODO could be package-protected? - line 100: public void setFrame(final Frame f) { // TODO could be package-protected? - line 232: // TODO: One could use a sophisticated analysis here to check src/main/java/org/apache/bcel/generic/CodeExceptionGen.java (3 lines): - line 123: public void setEndPC(final InstructionHandle endPc) { // TODO could be package-protected? - line 133: public void setHandlerPC(final InstructionHandle handlerPc) { // TODO could be package-protected? - line 143: public void setStartPC(final InstructionHandle startPc) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/CodeException.java (3 lines): - line 129: // TODO should this throw? - line 192: public void setHandlerPC(final int handlerPc) { // TODO unused - line 199: public void setStartPC(final int startPc) { // TODO unused src/main/java/org/apache/bcel/verifier/VerifierAppFrame.java (3 lines): - line 115: // FIXME: report the error using the GUI - line 242: // FIXME: handle the error - line 271: // FIXME: handle the error src/main/java/org/apache/bcel/classfile/InnerClass.java (3 lines): - line 88: // TODO should this throw? - line 151: public void setInnerNameIndex(final int innerNameIndex) { // TODO unused - line 158: 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 111: // TODO isRuntimeVisible - line 136: protected int type; // TODO should be final - line 141: protected ConstantPool cpool; // TODO should be final src/main/java/org/apache/bcel/generic/LocalVariableInstruction.java (2 lines): - line 160: * Set the local variable index. also updates opcode and length TODO Why? - line 165: public void setIndex(final int n) { // TODO could be package-protected? src/main/java/org/apache/bcel/generic/LocalVariableGen.java (2 lines): - line 180: public void setEnd(final InstructionHandle end) { // TODO could be package-protected? - line 198: public void setStart(final InstructionHandle start) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/ModuleExports.java (2 lines): - line 67: // TODO add more getters and setters? - line 76: // TODO should this throw? src/main/java/org/apache/bcel/classfile/StackMapEntry.java (2 lines): - line 338: public void setNumberOfLocals(final int n) { // TODO unused - line 346: public void setNumberOfStackItems(final int n) { // TODO unused src/main/java/org/apache/bcel/generic/Type.java (2 lines): - line 302: protected byte type; // TODO should be final (and private) - line 308: protected String signature; // signature for the type TODO should be private src/main/java/org/apache/bcel/verifier/statics/Pass1Verifier.java (2 lines): - line 151: // TODO: Maybe change Repository's behavior to throw a LoadingException instead of just returning "null" - line 165: // FIXME: currently, Pass1Verifier treats jc == null as a special src/main/java/org/apache/bcel/classfile/JavaClass.java (2 lines): - line 410: * TODO: Check if assignment compatibility is sufficient. What does Sun do? - line 832: 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 220: public void setInstruction(final Instruction i) { // Overridden in BranchHandle TODO could be package-protected? - line 266: // TODO remove this method in any redesign of BCEL src/main/java/org/apache/bcel/classfile/ModuleProvides.java (2 lines): - line 65: // TODO add more getters and setters? - line 74: // TODO should this throw? src/main/java/org/apache/bcel/classfile/ConstantCP.java (2 lines): - line 44: protected int class_index; // TODO make private (has getter & setter) - line 51: protected int name_and_type_index; // TODO make private (has getter & setter) src/main/java/org/apache/bcel/classfile/ModuleRequires.java (2 lines): - line 62: // TODO add more getters and setters? - line 71: // TODO should this throw? src/main/java/org/apache/bcel/classfile/Code.java (2 lines): - line 62: private int maxStack; // Maximum size of stack used by this method // TODO this could be made final (setter is not used) - line 63: private int maxLocals; // Number of local variables // TODO this could be made final (setter is not used) src/main/java/org/apache/bcel/generic/LineNumberGen.java (2 lines): - line 82: public void setInstruction(final InstructionHandle instructionHandle) { // TODO could be package-protected? - line 88: public void setSourceLine(final int srcLine) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/ModuleOpens.java (2 lines): - line 67: // TODO add more getters and setters? - line 76: // TODO should this throw? src/main/java/org/apache/bcel/classfile/Constant.java (2 lines): - line 125: protected byte tag; // TODO should be private & final - line 156: // TODO should this throw? src/main/java/org/apache/bcel/classfile/MethodParameter.java (1 line): - line 71: // TODO should this throw? src/main/java/org/apache/bcel/classfile/BootstrapMethod.java (1 line): - line 87: // TODO should this throw? src/main/java/org/apache/bcel/verifier/structurals/OperandStack.java (1 line): - line 163: // FIXME: maybe not the best way to handle this src/main/java/org/apache/bcel/classfile/InnerClasses.java (1 line): - line 100: // 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 107: public void setIndex(final int index) { // TODO could be package-protected? src/main/java/org/apache/bcel/classfile/ConstantUtf8.java (1 line): - line 85: // TODO these should perhaps be AtomicInt? src/main/java/org/apache/bcel/generic/BranchHandle.java (1 line): - line 65: public void setInstruction(final Instruction i) { // TODO could be package-protected? src/conf/spotbugs-exclude-filter.xml (1 line): - line 66: src/main/java/org/apache/bcel/classfile/AnnotationEntry.java (1 line): - line 121: // TODO return List src/main/java/org/apache/bcel/classfile/LineNumber.java (1 line): - line 87: // TODO should this throw? src/main/java/org/apache/bcel/classfile/StackMapType.java (1 line): - line 90: // TODO should this throw? src/main/java/org/apache/bcel/classfile/Module.java (1 line): - line 112: // TODO add more getters and setters? src/main/java/org/apache/bcel/classfile/AccessFlags.java (1 line): - line 30: protected int access_flags; // TODO not used externally at present src/main/java/org/apache/bcel/classfile/BootstrapMethods.java (1 line): - line 37: private BootstrapMethod[] bootstrapMethods; // TODO this could be made final (setter is not used) src/main/java/org/apache/bcel/classfile/ConstantPool.java (1 line): - line 221: // TODO should this throw? src/main/java/org/apache/bcel/generic/ElementValueGen.java (1 line): - line 115: // TODO: isRuntimeVisible ?????????? src/main/java/org/apache/bcel/verifier/exc/LinkingConstraintException.java (1 line): - line 27: * 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 533: // FIXME: report the error src/main/java/org/apache/bcel/classfile/LineNumberTable.java (1 line): - line 98: // TODO could use the lower level constructor and thereby allow src/main/java/org/apache/bcel/classfile/Annotations.java (1 line): - line 89: // TODO Auto-generated method stub src/main/java/org/apache/bcel/generic/Instruction.java (1 line): - line 557: this.length = (short) length; // TODO check range? src/main/java/org/apache/bcel/Constants.java (1 line): - line 2420: // TODO: mutable public array!! src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java (1 line): - line 56: // J5TODO: Needs some testing ! src/main/java/org/apache/bcel/classfile/ParameterAnnotationEntry.java (1 line): - line 59: // TODO isRuntimeVisible src/main/java/org/apache/bcel/generic/InstructionList.java (1 line): - line 1070: public void setPositions() { // TODO could be package-protected? (some test code would need to be repackaged) src/main/java/org/apache/bcel/generic/LDC.java (1 line): - line 69: if (super.getLength() == 2) { // TODO useless check? src/main/java/org/apache/bcel/util/ClassQueue.java (1 line): - line 32: protected LinkedList vec = new LinkedList<>(); // TODO not used externally src/main/java/org/apache/bcel/generic/ArrayElementValueGen.java (1 line): - line 31: // 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 37: // } else if (i1 == i2) { TODO consider adding this shortcut