looks for fields that are implementations of java.util.List, but that are used in a set-like fashion.
Since lookup type operations are performed using a linear search for Lists, the performance for large
Lists will be poor. Consideration should be made as to whether these fields should be sets. In the
case that order is important, consider using LinkedHashSet.
constructs a DLC detector given the reporter to report bugs on
bugReporter the sync of bug reports
overrides the visitor to accept classes that define List based fields
classContext the context object for the currently parsed class
overrides the visitor to reset the opcode stack object
obj the code object for the currently parse method
overrides the visitor to record all method calls on List fields. If a method
is not a set based method, remove it from further consideration
seen the current opcode parsed.
String methodInfo = methodName + signature;
return the field object that the current method was called on, by finding the reference
down in the stack based on the number of parameters
stk the opcode stack where fields are stored
signature the signature of the called method
- the field annotation for the field whose method was executed
implements the detector, by reporting all remaining fields that only have set based access
builds a field annotation by finding the field in the classes' field list
fieldName the field for which to built the field annotation
- the field annotation of the specified field
public void addUse(final int pc)