if (seen == PUTFIELD && getClassConstantOperand().equals(getClassName())) {
initializedFields.add(FieldAnnotation.fromReferencedField(this));
} else if (thisOnTOS && seen == GETFIELD && getClassConstantOperand().equals(getClassName())) {
UnreadFieldsData unreadFields = AnalysisContext.currentAnalysisContext().getUnreadFieldsData();
XField xField = XFactory.createReferencedXField(this);
FieldAnnotation f = FieldAnnotation.fromReferencedField(this);
int nextOpcode = 0xff & codeBytes[getPC() + 3];
if (nextOpcode != POP && !initializedFields.contains(f) && declaredFields.contains(f) && !containerFields.contains(f)
&& !unreadFields.isContainerField(xField)) {
// System.out.println("Next opcode: " +
// OPCODE_NAMES[nextOpcode]);
LocalVariableAnnotation possibleTarget = LocalVariableAnnotation.findMatchingIgnoredParameter(getClassContext(),
getMethod(), getNameConstantOperand(), xField.getSignature());
if (possibleTarget == null) {
possibleTarget = LocalVariableAnnotation.findUniqueBestMatchingParameter(getClassContext(), getMethod(),
getNameConstantOperand(), getSigConstantOperand());
}
int priority = unreadFields.getReadFields().contains(xField) ? NORMAL_PRIORITY : LOW_PRIORITY;