Class BytecodeScanningDetector
java.lang.Object
edu.umd.cs.findbugs.visitclass.BetterVisitor
edu.umd.cs.findbugs.visitclass.PreorderVisitor
edu.umd.cs.findbugs.visitclass.AnnotationVisitor
edu.umd.cs.findbugs.visitclass.DismantleBytecode
edu.umd.cs.findbugs.BytecodeScanningDetector
- All Implemented Interfaces:
Detector, Priorities, org.apache.bcel.classfile.Visitor
- Direct Known Subclasses:
BadAppletConstructor, BadlyOverriddenAdapter, BadUseOfReturnValue, BuildAccessMethodsDatabase, BuildInterproceduralCallGraph, CalledMethods, DoInsideDoPrivileged, DontCatchNullPointerException, DontReusePublicIdentifiers, EmptyZipFileEntry, FinalizerNullsFields, FindCircularDependencies, FindEmptySynchronizedBlock, FindFinalizeInvocations, FindFloatMath, FindLocalSelfAssignment2, FindMaskedFields, FindNakedNotify, FindRoughConstants, FindRunInvocations, FindSpinLoop, FindUncalledPrivateMethods, FindUnconditionalWait, FindUninitializedGet, FindUnsyncGet, FindUselessControlFlow, HugeSharedStringConstants, IDivResultCastToDouble, InefficientMemberAccess, InefficientToArray, InheritanceUnsafeGetResource, InitializationChain, InstantiateStaticClass, InvalidJUnitTest, IteratorIdioms, MutableLock, MutableStaticFields, OpcodeStack.JumpInfoFactory.JumpStackComputation, OpcodeStackDetector, PreferZeroLengthArrays, PublicSemaphores, QuestionableBooleanAssignment, ReadReturnShouldBeChecked, ReflectiveClasses, StartInConstructor, SuperfluousInstanceOf, SuspiciousThreadInterrupted, SynchronizeAndNullCheckField, UncallableMethodOfAnonymousClass, UnnecessaryMath, UselessSubclassMethod, VarArgsProblems, VolatileUsage, WaitInLoop, WrongMapIterator, XMLFactoryBypass
Base class for Detectors which want to extend DismantleBytecode.
- See Also:
-
Field Summary
FieldsFields inherited from class DismantleBytecode
codeBytes, lineNumberTable, M_BR, M_CP, M_INT, M_PAD, M_R, M_UINTFields inherited from interface Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the ClassContext of the class currently being visited.voidreport()This method is called after all classes to be visited.booleanshouldVisitCode(org.apache.bcel.classfile.Code obj) Check see if the Code for this method should be visited.voidvisitClassContext(ClassContext classContext) Visit the ClassContext for a class which should be analyzed for instances of bug patterns.Methods inherited from class DismantleBytecode
afterOpcode, areOppositeBranches, atCatchBlock, beforeOpcode, getBranchFallThrough, getBranchOffset, getBranchTarget, getClassConstantOperand, getClassDescriptorOperand, getCodeByte, getConstantRefOperand, getDefaultSwitchOffset, getDottedClassConstantOperand, getFieldDescriptorOperand, getIntConstant, getLongConstant, getMaxPC, getMethodDescriptorOperand, getNameConstantOperand, getNextCodeByte, getNextOpcode, getNextPC, getOpcode, getPC, getPrevOpcode, getRefConstantOperand, getRefFieldIsStatic, getRegisterOperand, getSigConstantOperand, getStringConstantOperand, getSwitchLabels, getSwitchOffsets, getXClassOperand, getXFieldOperand, getXMethodOperand, isBranch, isMethodCall, isRegisterLoad, isRegisterStore, isRegisterStore, isReturn, isShift, isSwitch, isWideOpcode, printOpCode, sawBranchTo, sawClass, sawDouble, sawField, sawFloat, sawIMethod, sawInt, sawLong, sawMethod, sawOpcode, sawRegister, sawString, visitMethods inherited from class AnnotationVisitor
getAnnotationParameterAsEnum, getAnnotationParameterAsString, getAnnotationParameterAsStringArray, visitAnnotation, visitAnnotation, visitParameterAnnotation, visitParameterAnnotation, visitSyntheticParameterAnnotationMethods inherited from class PreorderVisitor
amVisitingMainMethod, asUnsignedByte, doVisitMethod, getClassDescriptor, getClassName, getCode, getConstantPool, getDottedClassName, getDottedFieldSig, getDottedMethodSig, getDottedSuperclassName, getField, getFieldDescriptor, getFieldIsStatic, getFieldName, getFieldSig, getFullyQualifiedFieldName, getFullyQualifiedMethodName, getMethod, getMethodDescriptor, getMethodName, getMethodSig, getMethodVisitOrder, getNumberArguments, getNumberMethodArguments, getPackageName, getSizeOfSurroundingTryBlock, getSizeOfSurroundingTryBlock, getSourceFile, getStringFromIndex, getSuperclassName, getSurroundingCaughtExceptions, getSurroundingCaughtExceptions, getSurroundingCaughtExceptionTypes, getSurroundingTryBlock, getSurroundingTryBlock, getThisClass, getXClass, getXField, getXMethod, hasInterestingClass, hasInterestingMethod, isVisitMethodsInCallOrder, setupVisitorForClass, setVisitMethodsInCallOrder, shouldVisit, toString, visitAfter, visitAfter, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, visitCode, visitConstantInvokeDynamic, visitConstantMethodHandle, visitConstantMethodType, visitConstantModule, visitConstantPackage, visitConstantPool, visitEnclosingMethod, visitingField, visitingMethod, visitInnerClasses, visitJavaClass, visitLineNumberTable, visitLocalVariableTable, visitMethodParameters, visitParameterAnnotationEntry, visitStackMap, visitStackMapEntryMethods inherited from class BetterVisitor
clone, report, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitCodeException, visitConstantClass, visitConstantDouble, visitConstantFieldref, visitConstantFloat, visitConstantInteger, visitConstantInterfaceMethodref, visitConstantLong, visitConstantMethodref, visitConstantNameAndType, visitConstantString, visitConstantUtf8, visitConstantValue, visitDeprecated, visitExceptionTable, visitField, visitInnerClass, visitLineNumber, visitLocalVariable, visitLocalVariableTypeTable, visitMethod, visitSignature, visitSourceFile, visitSynthetic, visitUnknownMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.bcel.classfile.Visitor
visitConstantDynamic, visitMethodParameter, visitModule, visitModuleExports, visitModuleMainClass, visitModuleOpens, visitModulePackages, visitModuleProvides, visitModuleRequires, visitNestHost, visitNestMembers, visitRecord, visitRecordComponent, visitStackMapType
-
Field Details
-
classContext
-
-
Constructor Details
-
BytecodeScanningDetector
public BytecodeScanningDetector()
-
-
Method Details
-
visitClassContext
Description copied from interface:DetectorVisit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContextin interfaceDetector- Parameters:
classContext- the ClassContext
-
getClassContext
Get the ClassContext of the class currently being visited.- Returns:
- the current ClassContext
-
shouldVisitCode
public boolean shouldVisitCode(org.apache.bcel.classfile.Code obj) Check see if the Code for this method should be visited.- Parameters:
obj- Code attribute- Returns:
- true if the Code should be visited
-
report
-