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