@ SuppressWarnings ( "unchecked" ) private < E > E analyzeMethod ( ClassContext classContext , Class < E > analysisClass , MethodDescriptor methodDescriptor ) throws CheckedAnalysisException { IMethodAnalysisEngine < E > engine = ( IMethodAnalysisEngine < E > ) methodAnalysisEngineMap . get ( analysisClass ) ; if ( engine == null ) { throw new IllegalArgumentException ( "No analysis engine registered to produce " + analysisClass . getName ( ) ) ; } Profiler profiler = getProfiler ( ) ; profiler . start ( engine . getClass ( ) ) ; try { return engine . analyze ( this , methodDescriptor ) ; } finally { profiler . end ( engine . getClass ( ) ) ; } }
Analyze a method .