private void verifyValidExitPredecessor(SsaBasicBlock b) {
    ArrayList<SsaInsn> insns = b.getInsns();
    SsaInsn lastInsn = insns.get(insns.size() - 1);
    Rop opcode = lastInsn.getOpcode();

    if (opcode.getBranchingness() != Rop.BRANCH_RETURN && opcode != Rops.THROW) {
      throw new RuntimeException("Exit predecessor must end" + " in valid exit statement.");
    }
  }
Validates that a basic block is a valid end predecessor. It must end in a RETURN or a THROW.
Throws a runtime exception on error.

@param b {@code non-null;} block to validate
@throws RuntimeException on error
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/back/SsaToRop.java