Class SerializableIdiom

    • Field Detail

      • DEBUG

        private static final boolean DEBUG
      • reportTransientFieldOfNonSerializableClass

        static final boolean reportTransientFieldOfNonSerializableClass
      • sawSerialVersionUID

        boolean sawSerialVersionUID
      • isSerializable

        boolean isSerializable
      • implementsSerializableDirectly

        boolean implementsSerializableDirectly
      • isExternalizable

        boolean isExternalizable
      • isGUIClass

        boolean isGUIClass
      • isEjbImplClass

        boolean isEjbImplClass
      • isJSPClass

        boolean isJSPClass
      • isRecord

        boolean isRecord
      • foundSynthetic

        boolean foundSynthetic
      • seenTransientField

        boolean seenTransientField
      • foundSynchronizedMethods

        boolean foundSynchronizedMethods
      • writeObjectIsSynchronized

        boolean writeObjectIsSynchronized
      • isAbstract

        boolean isAbstract
      • fieldWarningList

        private final java.util.List<BugInstance> fieldWarningList
      • fieldsThatMightBeAProblem

        private final java.util.HashMap<java.lang.String,​XField> fieldsThatMightBeAProblem
      • transientFieldsUpdates

        private final java.util.HashMap<XField,​java.lang.Integer> transientFieldsUpdates
      • transientFieldsSetInConstructor

        private final java.util.HashSet<XField> transientFieldsSetInConstructor
      • transientFieldsSetToDefaultValueInConstructor

        private final java.util.HashSet<XField> transientFieldsSetToDefaultValueInConstructor
      • optionalBugsInReadExternal

        private final java.util.Map<XField,​BugInstance> optionalBugsInReadExternal
      • initializedCheckerVariables

        private java.util.Set<XField> initializedCheckerVariables
      • initializeCheckerBranchTarget

        private int initializeCheckerBranchTarget
      • sawReadExternalBranchExit

        private boolean sawReadExternalBranchExit
      • sawReadExternalExit

        private boolean sawReadExternalExit
      • sawReadExternal

        private boolean sawReadExternal
      • sawWriteExternal

        private boolean sawWriteExternal
      • sawReadObject

        private boolean sawReadObject
      • sawReadResolve

        private boolean sawReadResolve
      • sawWriteObject

        private boolean sawWriteObject
      • superClassImplementsSerializable

        private boolean superClassImplementsSerializable
      • superClassHasReadObject

        private boolean superClassHasReadObject
      • hasPublicVoidConstructor

        private boolean hasPublicVoidConstructor
      • superClassHasVoidConstructor

        private boolean superClassHasVoidConstructor
      • directlyImplementsExternalizable

        private boolean directlyImplementsExternalizable
      • testingEnabled

        private final boolean testingEnabled
      • anonymousInnerClassNamePattern

        static final java.util.regex.Pattern anonymousInnerClassNamePattern
      • isAnonymousInnerClass

        boolean isAnonymousInnerClass
      • innerClassHasOuterInstance

        boolean innerClassHasOuterInstance
      • isEnum

        private boolean isEnum
    • Constructor Detail

      • SerializableIdiom

        public SerializableIdiom​(BugReporter bugReporter)
    • Method Detail

      • flush

        private void flush()
      • visit

        public void visit​(org.apache.bcel.classfile.JavaClass obj)
        Overrides:
        visit in class BetterVisitor
      • strongEvidenceForIntendedSerialization

        private boolean strongEvidenceForIntendedSerialization()
      • visitAfter

        public void visitAfter​(org.apache.bcel.classfile.JavaClass obj)
        Overrides:
        visitAfter in class PreorderVisitor
      • visit

        public void visit​(org.apache.bcel.classfile.Method obj)
        Overrides:
        visit in class BetterVisitor
      • isSynthetic

        boolean isSynthetic​(org.apache.bcel.classfile.FieldOrMethod obj)
      • visit

        public void visit​(org.apache.bcel.classfile.Code obj)
        Overrides:
        visit in class DismantleBytecode
      • visit

        public void visit​(org.apache.bcel.classfile.Field obj)
        Overrides:
        visit in class BetterVisitor
      • computePriority

        private int computePriority​(double isSerializable,
                                    double bias)