private boolean strongEvidenceForIntendedSerialization() { return implementsSerializableDirectly || sawReadObject || sawReadResolve || sawWriteObject || seenTransientField || AnalysisContext.currentAnalysisContext().getUnreadFieldsData() .existsStrongEvidenceForIntendedSerialization(this.getClassDescriptor()); }
if (seen == Const.PUTFIELD) { XField xField = getXFieldOperand(); if (xField != null && xField.getClassDescriptor().equals(getClassDescriptor())) { Item first = stack.getStackItem(0);
try { Set<ClassDescriptor> subtypes = AnalysisContext.currentAnalysisContext().getSubtypes2() .getSubtypes(getClassDescriptor()); if (subtypes.size() > 1) { BugInstance bug = new BugInstance(this, "SE_PRIVATE_READ_RESOLVE_NOT_INHERITED", NORMAL_PRIORITY) boolean nasty = false; for (ClassDescriptor subclass : subtypes) { if (!subclass.equals(getClassDescriptor())) {
private boolean strongEvidenceForIntendedSerialization() { return implementsSerializableDirectly || sawReadObject || sawReadResolve || sawWriteObject || seenTransientField || AnalysisContext.currentAnalysisContext().getUnreadFieldsData() .existsStrongEvidenceForIntendedSerialization(this.getClassDescriptor()); }
if (seen == PUTFIELD) { XField xField = getXFieldOperand(); if (xField != null && xField.getClassDescriptor().equals(getClassDescriptor())) { Item first = stack.getStackItem(0);
try { Set<ClassDescriptor> subtypes = AnalysisContext.currentAnalysisContext().getSubtypes2() .getSubtypes(getClassDescriptor()); if (subtypes.size() > 1) { BugInstance bug = new BugInstance(this, "SE_PRIVATE_READ_RESOLVE_NOT_INHERITED", NORMAL_PRIORITY) boolean nasty = false; for (ClassDescriptor subclass : subtypes) { if (!subclass.equals(getClassDescriptor())) {