@Override
    public void transfer(BasicBlock basicBlock, @CheckForNull InstructionHandle end, Fact start, Fact result)
            throws DataflowAnalysisException {
        copy(start, result);

        if (isFactValid(result)) {
            Iterator<InstructionHandle> i = isForwards() ? basicBlock.instructionIterator() : basicBlock
                    .instructionReverseIterator();

            while (i.hasNext()) {
                InstructionHandle handle = i.next();
                if (handle == end) {
                    break;
                }

                if (DEBUG && end == null) {
                    System.out.print("Transfer " + handle);
                }

                // Transfer the dataflow value
                transferInstruction(handle, basicBlock, result);

                if (DEBUG && end == null) {
                    System.out.println(" ==> " + result.toString());
                }
            }
        }
    }
@ Override public void transfer ( BasicBlock basicBlock , @ CheckForNull InstructionHandle end , Fact start , Fact result ) throws DataflowAnalysisException { copy ( start , result ) ; if ( isFactValid ( result ) ) { Iterator < InstructionHandle > i = isForwards ( ) ? basicBlock . instructionIterator ( ) : basicBlock . instructionReverseIterator ( ) ; while ( i . hasNext ( ) ) { InstructionHandle handle = i . next ( ) ; if ( handle == end ) { break ; } if ( DEBUG && end == null ) { System . out . print ( "Transfer " + handle ) ; } transferInstruction ( handle , basicBlock , result ) ; if ( DEBUG && end == null ) { System . out . println ( " ==> " + result . toString ( ) ) ; } } } }
/*
----------------------------------------------------------------------
Implementations of interface methods
----------------------------------------------------------------------