src/main/java/org/plumelib/bcelutil/BcelUtil.java
public static void checkMgen(MethodGen mgen) {

    if (skipChecks) {
      return;
    }

    try {
      mgen.toString(); // ensure it can be formatted without exceptions
      mgen.getLineNumberTable(mgen.getConstantPool());

      InstructionList ilist = mgen.getInstructionList();
      if (ilist == null || ilist.getStart() == null) {
        return;
      }
      CodeExceptionGen[] exceptionHandlers = mgen.getExceptionHandlers();
      for (CodeExceptionGen gen : exceptionHandlers) {
        assert ilist.contains(gen.getStartPC())
            : "exception handler "
                + gen
                + " has been forgotten in "
                + mgen.getClassName()
                + "."
                + mgen.getName();
      }
      MethodGen nmg = new MethodGen(mgen.getMethod(), mgen.getClassName(), mgen.getConstantPool());
      nmg.getLineNumberTable(mgen.getConstantPool());
    } catch (Throwable t) {
      Error e =
          new Error(
              String.format(
                  "failure while checking method %s.%s%n", mgen.getClassName(), mgen.getName()),
              t);
      e.printStackTrace();
      throw e;
    }
  }
public static void checkMgen(MethodGen mgen) {

    if (skipChecks) {
      return;
    }

    try {
      mgen.toString(); // ensure it can be formatted without exceptions
      mgen.getLineNumberTable(mgen.getConstantPool());

      InstructionList ilist = mgen.getInstructionList();
      if (ilist == null || ilist.getStart() == null) {
        return;
      }
      CodeExceptionGen[] exceptionHandlers = mgen.getExceptionHandlers();
      for (CodeExceptionGen gen : exceptionHandlers) {
        assert ilist.contains(gen.getStartPC())
            : "exception handler "
                + gen
                + " has been forgotten in "
                + mgen.getClassName()
                + "."
                + mgen.getName();
      }
      MethodGen nmg = new MethodGen(mgen.getMethod(), mgen.getClassName(), mgen.getConstantPool());
      nmg.getLineNumberTable(mgen.getConstantPool());
    } catch (Throwable t) {
      Error e =
          new Error(
              String.format(
                  "failure while checking method %s.%s%n", mgen.getClassName(), mgen.getName()),
              t);
      e.printStackTrace();
      throw e;
    }
  }
public static void checkMgen ( MethodGen mgen ) { if ( skipChecks ) { return ; } try { mgen . toString ( ) ; // ensure it can be formatted without exceptions mgen . getLineNumberTable ( mgen . getConstantPool ( ) ) ; InstructionList ilist = mgen . getInstructionList ( ) ; if ( ilist == null || ilist . getStart ( ) == null ) { return ; } CodeExceptionGen [ ] exceptionHandlers = mgen . getExceptionHandlers ( ) ; for ( CodeExceptionGen gen : exceptionHandlers ) { assert ilist . contains ( gen . getStartPC ( ) ) : "exception handler " + gen + " has been forgotten in " + mgen . getClassName ( ) + "." + mgen . getName ( ) ; } MethodGen nmg = new MethodGen ( mgen . getMethod ( ) , mgen . getClassName ( ) , mgen . getConstantPool ( ) ) ; nmg . getLineNumberTable ( mgen . getConstantPool ( ) ) ; } catch ( Throwable t ) { Error e = new Error ( String . format ( "failure while checking method %s.%s%n" , mgen . getClassName ( ) , mgen . getName ( ) ) , t ) ; e . printStackTrace ( ) ; throw e ; } }
Checks the specified method for consistency.

<p>Does nothing if {@link #skipChecks} is false.

@param mgen the class to check
Checks the specified method for consistency .