Class AssertionMethods


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

      Constructors 
      Constructor Description
      AssertionMethods​(org.apache.bcel.classfile.JavaClass jclass)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void init​(org.apache.bcel.classfile.JavaClass jclass)  
      boolean isAssertionCall​(org.apache.bcel.generic.InvokeInstruction inv)  
      boolean isAssertionHandle​(org.apache.bcel.generic.InstructionHandle handle, org.apache.bcel.generic.ConstantPoolGen cpg)  
      boolean isAssertionInstruction​(org.apache.bcel.generic.Instruction ins, org.apache.bcel.generic.ConstantPoolGen cpg)
      Does the given instruction refer to a likely assertion method?
      private static boolean isUserAssertionMethod​(java.lang.String className, java.lang.String methodName)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEBUG

        private static final boolean DEBUG
      • assertionMethodRefSet

        private final java.util.BitSet assertionMethodRefSet
        Bitset of methodref constant pool indexes referring to likely assertion methods.
    • Constructor Detail

      • AssertionMethods

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

      • init

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

        private static boolean isUserAssertionMethod​(java.lang.String className,
                                                     java.lang.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)