Interface Detector

All Superinterfaces:
Priorities
All Known Implementing Classes:
AnnotationDetector, AppendingToAnObjectOutputStream, AtomicityProblem, BadAppletConstructor, BadlyOverriddenAdapter, BadResultSetAccess, BadSyntaxForRegularExpression, BadUseOfReturnValue, BooleanReturnNull, BuildInterproceduralCallGraph, BuildStringPassthruGraph, BuildUnconditionalParamDerefDatabase, ByteCodePatternDetector, BytecodeScanningDetector, CalledMethods, CallToUnconditionalThrower, CallToUnsupportedMethod, CheckAnalysisContextContainedAnnotation, CheckCalls, CheckImmutableAnnotation, CloneIdiom, ComparatorIdiom, ConfusedInheritance, ConfusionBetweenInheritedAndOuterMethod, CovariantArrayAssignment, CrossSiteScripting, DefaultEncodingDetector, DoInsideDoPrivileged, DontAssertInstanceofInTests, DontCatchIllegalMonitorStateException, DontCatchNullPointerException, DontIgnoreResultOfPutIfAbsent, DontUseEnum, DroppedException, DumbMethodInvocations, DumbMethods, DuplicateBranches, EmptyZipFileEntry, EqualsOperandShouldHaveClassCompatibleWithThis, ExplicitSerialization, FieldItemSummary, FinalizerNullsFields, FindBadCast2, FindBadEndOfStreamCheck, FindBadForLoop, FindBugsSummaryStats, FindCircularDependencies, FindComparatorProblems, FindDeadLocalStores, FindDoubleCheck, FindEmptySynchronizedBlock, FindFieldSelfAssignment, FindFinalizeInvocations, FindFloatEquality, FindFloatMath, FindHEmismatch, FindInconsistentSync2, FindJSR166LockMonitorenter, FindLocalSelfAssignment2, FindMaskedFields, FindMismatchedWaitOrNotify, FindNakedNotify, FindNonSerializableStoreIntoSession, FindNonSerializableValuePassedToWriteObject, FindNonShortCircuit, FindNoSideEffectMethods, FindNullDeref, FindNullDerefsInvolvingNonShortCircuitEvaluation, FindOpenStream, FindOverridableMethodCall, FindPuzzlers, FindRefComparison, FindReturnRef, FindRoughConstants, FindRunInvocations, FindSelfComparison, FindSelfComparison2, FindSleepWithLockHeld, FindSpinLoop, FindSqlInjection, FindTwoLockWait, FindUncalledPrivateMethods, FindUnconditionalWait, FindUninitializedGet, FindUnrelatedTypesInGenericContainer, FindUnreleasedLock, FindUnsyncGet, FindUselessControlFlow, FindUselessObjects, FindUseOfNonSerializableValue, FormatStringChecker, FunctionsThatMightBeMistakenForProcedures, HugeSharedStringConstants, IDivResultCastToDouble, IncompatMask, InconsistentAnnotations, InefficientIndexOf, InefficientInitializationInsideLoop, InefficientMemberAccess, InefficientToArray, InfiniteLoop, InfiniteRecursiveLoop, InheritanceUnsafeGetResource, InitializationChain, InitializeNonnullFieldsInConstructor, InstantiateStaticClass, IntCast2LongAsInstant, InvalidJUnitTest, IteratorIdioms, LazyInit, LoadOfKnownNullValue, LostLoggerDueToWeakReference, MethodReturnCheck, Methods, MultithreadedInstanceAccess, MutableEnum, MutableLock, MutableStaticFields, Naming, Noise, NoiseNullDeref, NoteAnnotationRetention, NoteCheckReturnValueAnnotations, NoteDirectlyRelevantTypeQualifiers, NoteJCIPAnnotation, NoteNonNullAnnotations, NoteNonnullReturnValues, NoteSuppressedWarnings, NoteUnconditionalParamDerefs, NumberConstructor, OpcodeStackDetector, OpcodeStackDetector.WithCustomJumpInfo, OptionalReturnNull, OverridingEqualsNotSymmetrical, OverridingMethodsMustInvokeSuperDetector, PreferZeroLengthArrays, PreorderDetector, PublicSemaphores, QuestionableBooleanAssignment, ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass, ReadReturnShouldBeChecked, RedundantConditions, RedundantInterfaces, ReflectionIncreaseAccessibility, ReflectiveClasses, RepeatedConditionals, ResolveAllReferences, ResourceTrackingDetector, RuntimeExceptionCapture, SerializableIdiom, StartInConstructor, StaticCalendarDetector, StringConcatenation, SuperfluousInstanceOf, SuspiciousThreadInterrupted, SwitchFallthrough, SynchronizationOnSharedBuiltinConstant, SynchronizeAndNullCheckField, SynchronizeOnClassLiteralNotGetClass, SynchronizingOnContentsOfFieldToProtectField, TestingGround, TestingGround2, TrainFieldStoreTypes, TrainLongInstantfParams, TrainNonNullAnnotations, TrainUnconditionalDerefParams, TypeReturnNull, UncallableMethodOfAnonymousClass, UnnecessaryMath, UnreadFields, URLProblems, UselessSubclassMethod, VarArgsProblems, VolatileUsage, WaitInLoop, WrongMapIterator, XMLFactoryBypass

public interface Detector extends Priorities
The interface which all bug pattern detectors must implement.
  • Method Details

    • visitClassContext

      void visitClassContext(ClassContext classContext)
      Visit the ClassContext for a class which should be analyzed for instances of bug patterns.
      Parameters:
      classContext - the ClassContext
    • report

      void report()
      This method is called after all classes to be visited. It should be used by any detectors which accumulate information over all visited classes to generate results.