Class ToBuilderIsCorrect

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
edu.umd.cs.findbugs.bcel.OpcodeStackDetector
software.amazon.awssdk.buildtools.findbugs.ToBuilderIsCorrect
All Implemented Interfaces:
edu.umd.cs.findbugs.Detector, edu.umd.cs.findbugs.Priorities, org.apache.bcel.classfile.Visitor

public class ToBuilderIsCorrect extends edu.umd.cs.findbugs.bcel.OpcodeStackDetector
A FindBugs/SpotBugs rule for verifying that implementations of software.amazon.awssdk.utils.builder.ToCopyableBuilder and CopyableBuilder are correct.
  • Nested Class Summary

    Nested classes/interfaces inherited from class edu.umd.cs.findbugs.bcel.OpcodeStackDetector

    edu.umd.cs.findbugs.bcel.OpcodeStackDetector.WithCustomJumpInfo
  • Field Summary

    Fields inherited from class edu.umd.cs.findbugs.visitclass.DismantleBytecode

    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
    ToBuilderIsCorrect(edu.umd.cs.findbugs.BugReporter bugReporter)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    sawOpcode(int seen)
     
    boolean
    shouldVisit(org.apache.bcel.classfile.JavaClass obj)
    Determine whether we should visit the provided class.
    void
    visit(org.apache.bcel.classfile.Field obj)
     
    void
    visit(org.apache.bcel.classfile.Method method)
     

    Methods inherited from class edu.umd.cs.findbugs.bcel.OpcodeStackDetector

    afterOpcode, beforeOpcode, getStack, isUsingCustomUserValue, visitCode

    Methods inherited from class edu.umd.cs.findbugs.BytecodeScanningDetector

    getClassContext, shouldVisitCode, visitClassContext

    Methods inherited from class edu.umd.cs.findbugs.visitclass.DismantleBytecode

    areOppositeBranches, atCatchBlock, 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, sawRegister, sawString, visit

    Methods inherited from class edu.umd.cs.findbugs.visitclass.AnnotationVisitor

    visitAnnotation, visitAnnotation, visitParameterAnnotation, visitParameterAnnotation, visitSyntheticParameterAnnotation

    Methods inherited from class edu.umd.cs.findbugs.visitclass.PreorderVisitor

    amVisitingMainMethod, doVisitMethod, getClassDescriptor, getClassName, getCode, getConstantPool, getDottedClassName, getDottedFieldSig, getDottedMethodSig, getDottedSuperclassName, getField, getFieldDescriptor, getFieldIsStatic, getFieldName, getFieldSig, getFullyQualifiedFieldName, getFullyQualifiedMethodName, getMethod, getMethodDescriptor, getMethodName, getMethodSig, getNumberArguments, getNumberMethodArguments, getPackageName, getSizeOfSurroundingTryBlock, getSizeOfSurroundingTryBlock, getSourceFile, getSuperclassName, getSurroundingCaughtExceptions, getSurroundingCaughtExceptions, getSurroundingTryBlock, getSurroundingTryBlock, getThisClass, getXClass, getXField, getXMethod, hasInterestingClass, hasInterestingMethod, setupVisitorForClass, toString, visitAfter, visitAfter, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, 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, 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

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.bcel.classfile.Visitor

    visitConstantDynamic, visitMethodParameter, visitModule, visitModuleExports, visitModuleMainClass, visitModuleOpens, visitModulePackages, visitModuleProvides, visitModuleRequires, visitNestHost, visitNestMembers
  • Constructor Details

    • ToBuilderIsCorrect

      public ToBuilderIsCorrect(edu.umd.cs.findbugs.BugReporter bugReporter)
  • Method Details

    • shouldVisit

      public boolean shouldVisit(org.apache.bcel.classfile.JavaClass obj)
      Determine whether we should visit the provided class. We only visit builders and buildables.
      Overrides:
      shouldVisit in class edu.umd.cs.findbugs.visitclass.PreorderVisitor
    • visit

      public void visit(org.apache.bcel.classfile.Field obj)
      Overrides:
      visit in class edu.umd.cs.findbugs.visitclass.BetterVisitor
    • visit

      public void visit(org.apache.bcel.classfile.Method method)
      Overrides:
      visit in class edu.umd.cs.findbugs.visitclass.BetterVisitor
    • sawOpcode

      public void sawOpcode(int seen)
      Specified by:
      sawOpcode in class edu.umd.cs.findbugs.bcel.OpcodeStackDetector
    • report

      public void report()
      Specified by:
      report in interface edu.umd.cs.findbugs.Detector
      Overrides:
      report in class edu.umd.cs.findbugs.BytecodeScanningDetector