Package edu.umd.cs.findbugs
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
,BuildInterproceduralCallGraph
,CalledMethods
,DoInsideDoPrivileged
,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
,OpcodeStackDetector
,PreferZeroLengthArrays
,PublicSemaphores
,QuestionableBooleanAssignment
,ReadReturnShouldBeChecked
,ReflectiveClasses
,StartInConstructor
,StringConcatenation
,SuperfluousInstanceOf
,SuspiciousThreadInterrupted
,SynchronizeAndNullCheckField
,UncallableMethodOfAnonymousClass
,UnnecessaryMath
,UselessSubclassMethod
,VarArgsProblems
,VolatileUsage
,WaitInLoop
,WrongMapIterator
,XMLFactoryBypass
public class BytecodeScanningDetector extends DismantleBytecode implements Detector
Base class for Detectors which want to extend DismantleBytecode.- See Also:
DismantleBytecode
-
-
Field Summary
-
Fields inherited from class edu.umd.cs.findbugs.visitclass.DismantleBytecode
codeBytes, lineNumberTable, M_BR, M_CP, M_INT, M_PAD, M_R, M_UINT
-
Fields inherited from interface edu.umd.cs.findbugs.Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description BytecodeScanningDetector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassContext
getClassContext()
Get the ClassContext of the class currently being visited.void
report()
This method is called after all classes to be visited.boolean
shouldVisitCode(org.apache.bcel.classfile.Code obj)
Check see if the Code for this method should be visited.void
visitClassContext(ClassContext classContext)
Visit the ClassContext for a class which should be analyzed for instances of bug patterns.-
Methods inherited from class edu.umd.cs.findbugs.visitclass.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, visit
-
Methods inherited from class edu.umd.cs.findbugs.visitclass.AnnotationVisitor
getAnnotationParameterAsString, getAnnotationParameterAsStringArray, visitAnnotation, visitAnnotation, visitParameterAnnotation, visitParameterAnnotation, visitSyntheticParameterAnnotation
-
Methods inherited from class edu.umd.cs.findbugs.visitclass.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, 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, visitStackMapEntry
-
Methods inherited from class edu.umd.cs.findbugs.visitclass.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, visitUnknown
-
-
-
-
Method Detail
-
visitClassContext
public void visitClassContext(ClassContext classContext)
Description copied from interface:Detector
Visit the ClassContext for a class which should be analyzed for instances of bug patterns.- Specified by:
visitClassContext
in interfaceDetector
- Parameters:
classContext
- the ClassContext
-
getClassContext
public 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
-
-