Class DroppedException
java.lang.Object
edu.umd.cs.findbugs.visitclass.BetterVisitor
edu.umd.cs.findbugs.visitclass.PreorderVisitor
edu.umd.cs.findbugs.detect.DroppedException
- All Implemented Interfaces:
Detector, Priorities, org.apache.bcel.classfile.Visitor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BugAccumulatorprivate final BugReporterprivate static final intprivate ClassContextprivate static final intprivate static final booleanprivate static final booleanprivate static final intThe number of lines that we'll scan to look at the source for a catch block.private static final intMaximum number of lines we look backwards to find the "catch" keyword.private static final intprivate static final intprivate static final intFields inherited from interface Priorities
EXP_PRIORITY, HIGH_PRIORITY, IGNORE_PRIORITY, LOW_PRIORITY, NORMAL_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancatchBlockHasComment(SourceLineAnnotation srcLine) Analyze a class's source code to see if there is a comment (or other text) in a catch block we have marked as dropping an exception.private intgetNextExecutableLineNumber(org.apache.bcel.classfile.LineNumberTable linenumbers, int PC) private intgetUnsignedShort(byte[] a, int i) (package private) booleanvoidreport()This method is called after all classes to be visited.voidvisit(org.apache.bcel.classfile.Code obj) voidvisitClassContext(ClassContext classContext) Visit the ClassContext for a class which should be analyzed for instances of bug patterns.Methods 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, visitAnnotation, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, visitCode, visitConstantInvokeDynamic, visitConstantMethodHandle, visitConstantMethodType, visitConstantModule, visitConstantPackage, visitConstantPool, visitEnclosingMethod, visitingField, visitingMethod, visitInnerClasses, visitJavaClass, visitLineNumberTable, visitLocalVariableTable, visitMethodParameters, visitParameterAnnotation, 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
-
DEBUG
private static final boolean DEBUG -
LOOK_IN_SOURCE_TO_FIND_COMMENTED_CATCH_BLOCKS
private static final boolean LOOK_IN_SOURCE_TO_FIND_COMMENTED_CATCH_BLOCKS -
causes
-
checkedCauses
-
bugReporter
-
bugAccumulator
-
classContext
-
START
private static final int START- See Also:
-
CATCH
private static final int CATCH- See Also:
-
OPEN_PAREN
private static final int OPEN_PAREN- See Also:
-
CLOSE_PAREN
private static final int CLOSE_PAREN- See Also:
-
OPEN_BRACE
private static final int OPEN_BRACE- See Also:
-
NUM_CONTEXT_LINES
private static final int NUM_CONTEXT_LINESMaximum number of lines we look backwards to find the "catch" keyword. Looking backwards is necessary when the indentation style puts the open brace on a different line from the catch clause.- See Also:
-
MAX_LINES
private static final int MAX_LINESThe number of lines that we'll scan to look at the source for a catch block.- See Also:
-
-
Constructor Details
-
DroppedException
-
-
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
-
report
-
isChecked
-
getUnsignedShort
private int getUnsignedShort(byte[] a, int i) -
visit
public void visit(org.apache.bcel.classfile.Code obj) - Overrides:
visitin classBetterVisitor
-
getNextExecutableLineNumber
private int getNextExecutableLineNumber(org.apache.bcel.classfile.LineNumberTable linenumbers, int PC) -
catchBlockHasComment
Analyze a class's source code to see if there is a comment (or other text) in a catch block we have marked as dropping an exception.- Returns:
- true if there is a comment in the catch block, false if not (or if we can't tell)
-