Class FindUnsatisfiedObligation.MethodChecker.PostProcessingPathVisitor

  • All Implemented Interfaces:
    PathVisitor
    Enclosing class:
    FindUnsatisfiedObligation.MethodChecker

    private class FindUnsatisfiedObligation.MethodChecker.PostProcessingPathVisitor
    extends java.lang.Object
    implements PathVisitor
    Helper class to apply the false-positive suppression heuristics along a Path where an obligation leak might have occurred.
    • Constructor Detail

      • PostProcessingPathVisitor

        public PostProcessingPathVisitor​(Obligation possiblyLeakedObligation,
                                         State state)
    • Method Detail

      • getAdjustedLeakCount

        public int getAdjustedLeakCount()
      • couldNotAnalyze

        public boolean couldNotAnalyze()
      • visitBasicBlock

        public void visitBasicBlock​(BasicBlock basicBlock)
        Description copied from interface: PathVisitor
        Start to visit the given BasicBlock.
        Specified by:
        visitBasicBlock in interface PathVisitor
        Parameters:
        basicBlock - a BasicBlock in the Path being visited
      • visitInstructionHandle

        public void visitInstructionHandle​(org.apache.bcel.generic.InstructionHandle handle)
        Description copied from interface: PathVisitor
        Visit an InstructionHandle within the BasicBlock currently being visited.
        Specified by:
        visitInstructionHandle in interface PathVisitor
        Parameters:
        handle - an InstructionHandle within the current BasicBlock
      • applyPossibleObligationTransfers

        private void applyPossibleObligationTransfers()
      • checkForPossibleObligationTransfer

        private void checkForPossibleObligationTransfer​(org.apache.bcel.generic.InvokeInstruction inv,
                                                        org.apache.bcel.generic.InstructionHandle handle)
                                                 throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • visitEdge

        public void visitEdge​(Edge edge)
        Description copied from interface: PathVisitor
        Visit an Edge connecting two BasicBlocks in the Path being visited.
        Specified by:
        visitEdge in interface PathVisitor
        Parameters:
        edge - an Edge connecting two BasicBlocks in the Path being visited
      • getTransferState

        private State getTransferState​(org.apache.bcel.generic.InstructionHandle handle)