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 .