/** * Analyze a method. * * @param classContext * ClassContext storing method analysis objects for method's * class * @param analysisClass * class the method analysis object should belong to * @param methodDescriptor * method descriptor identifying the method to analyze * @return the computed analysis object for the method * @throws CheckedAnalysisException */ @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()); } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } } }
/** * Analyze a method. * * @param classContext * ClassContext storing method analysis objects for method's * class * @param analysisClass * class the method analysis object should belong to * @param methodDescriptor * method descriptor identifying the method to analyze * @return the computed analysis object for the method * @throws CheckedAnalysisException */ @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()); } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } for (IDatabaseFactory<?> databaseFactory : databaseFactoryList) { databaseFactory.registerWith(analysisCache); } // if (!Subtypes.DO_NOT_USE) { // new // ReflectionDatabaseFactory<Subtypes>(Subtypes.class).registerWith(analysisCache); // } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } } }
@Override public void registerAnalysisEngines(IAnalysisCache analysisCache) { for (IClassAnalysisEngine<?> engine : classAnalysisEngineList) { engine.registerWith(analysisCache); } for (IMethodAnalysisEngine<?> engine : methodAnalysisEngineList) { engine.registerWith(analysisCache); } for (IDatabaseFactory<?> databaseFactory : databaseFactoryList) { databaseFactory.registerWith(analysisCache); } // if (!Subtypes.DO_NOT_USE) { // new // ReflectionDatabaseFactory<Subtypes>(Subtypes.class).registerWith(analysisCache); // } }