Class AssertionMethods

java.lang.Object
edu.umd.cs.findbugs.ba.AssertionMethods

public class AssertionMethods extends Object
Mark methodref constant pool entries of methods that are likely to implement assertions. This is useful for pruning likely false paths.
  • Field Details

    • DEBUG

      private static final boolean DEBUG
    • assertionMethodRefSet

      private final BitSet assertionMethodRefSet
      Bitset of methodref constant pool indexes referring to likely assertion methods.
    • userAssertionMethodList

      @StaticConstant private static final List<AssertionMethods.UserAssertionMethod> userAssertionMethodList
  • Constructor Details

    • AssertionMethods

      public AssertionMethods(org.apache.bcel.classfile.JavaClass jclass)
      Constructor.
      Parameters:
      jclass - the JavaClass containing the methodrefs
  • Method Details

    • init

      private void init(org.apache.bcel.classfile.JavaClass jclass)
    • isUserAssertionMethod

      private static boolean isUserAssertionMethod(String className, String methodName)
    • isAssertionHandle

      public boolean isAssertionHandle(org.apache.bcel.generic.InstructionHandle handle, org.apache.bcel.generic.ConstantPoolGen cpg)
    • isAssertionInstruction

      public boolean isAssertionInstruction(org.apache.bcel.generic.Instruction ins, org.apache.bcel.generic.ConstantPoolGen cpg)
      Does the given instruction refer to a likely assertion method?
      Parameters:
      ins - the instruction
      Returns:
      true if the instruction likely refers to an assertion, false if not
    • isAssertionCall

      public boolean isAssertionCall(org.apache.bcel.generic.InvokeInstruction inv)