public Collection<ExecutionData> getExecutionData() { return executiondatastore.getContents(); }
private Collection<File> classFilesOfStore(ExecutionDataStore executionDataStore) { Collection<File> result = Lists.newArrayList(); for (ExecutionData data : executionDataStore.getContents()) { String vmClassName = data.getName(); File classFile = classFilesCache.get(vmClassName); if (classFile != null) { result.add(classFile); } } return result; }
/** * Subtracts all probes in the given execution data store from this store. * * @param store * execution data store to subtract * @see #subtract(ExecutionData) */ public void subtract(final ExecutionDataStore store) { for (final ExecutionData data : store.getContents()) { subtract(data); } }
/** * Writes the content of the store to the given visitor interface. * * @param visitor * interface to write content to */ public void accept(final IExecutionDataVisitor visitor) { for (final ExecutionData data : getContents()) { visitor.visitClassExecution(data); } }
private void copyToAgentExecutionStore(ExecutionDataStore dataStore) throws Exception { Field f = null; try { f = UUID.class.getDeclaredField("$jacocoAccess"); } catch (Exception e) { f = UnknownError.class.getDeclaredField("$jacocoAccess"); } Object executor = f.get(null); Method m = executor.getClass().getDeclaredMethod("getProbes", Object[].class); m.setAccessible(true); for (ExecutionData data : dataStore.getContents()) { Object[] probeData = new Object[] {data.getId(), data.getName(), data.getProbes().length}; m.invoke(executor, new Object[] {probeData}); boolean[] resultData = (boolean[]) probeData[0]; for (int i = 0; i < data.getProbes().length; i++) { if (!resultData[i]) { resultData[i] = data.getProbes()[i]; } } } }
private CoverageBuilder analyze2(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (File binaryDir : fileSystem.binaryDirs()) { for (ExecutionData data : executionDataStore.getContents()) { String vmClassName = data.getName(); String classFileName = vmClassName.replace('.', '/') + ".class"; File classFile = new File(binaryDir, classFileName); if (classFile.isFile()) { try { analyzer.analyzeAll(classFile); } catch (Exception e) { JaCoCoUtils.LOG.warn("Exception during analysis of file " + classFile.getAbsolutePath(), e); } } } } return coverageBuilder; }
private void copyToAgentExecutionStore(ExecutionDataStore dataStore) throws Exception { Field f = null; try { f = UUID.class.getDeclaredField("$jacocoAccess"); } catch (Exception e) { f = UnknownError.class.getDeclaredField("$jacocoAccess"); } Object executor = f.get(null); Method m = executor.getClass().getDeclaredMethod("getProbes", Object[].class); m.setAccessible(true); for (ExecutionData data : dataStore.getContents()) { Object[] probeData = new Object[] {data.getId(), data.getName(), data.getProbes().length}; m.invoke(executor, new Object[] {probeData}); boolean[] resultData = (boolean[]) probeData[0]; for (int i = 0; i < data.getProbes().length; i++) { if (!resultData[i]) { resultData[i] = data.getProbes()[i]; } } } }
private CoverageBuilder analyze2(ExecutionDataStore executionDataStore) { CoverageBuilder coverageBuilder = new CoverageBuilder(); Analyzer analyzer = new Analyzer(executionDataStore, coverageBuilder); for (ExecutionData data : executionDataStore.getContents()) { String vmClassName = data.getName(); File classFile = classFilesCache.get(vmClassName); if (classFile != null) { analyzeClassFile(analyzer, classFile); } } return coverageBuilder; }
private void writeReports(final IBundleCoverage bundle, final ExecFileLoader loader, final PrintWriter out) throws IOException { out.printf("[INFO] Analyzing %s classes.%n", Integer.valueOf(bundle.getClassCounter().getTotalCount())); final IReportVisitor visitor = createReportVisitor(); visitor.visitInfo(loader.getSessionInfoStore().getInfos(), loader.getExecutionDataStore().getContents()); visitor.visitBundle(bundle, getSourceLocator()); visitor.visitEnd(); }
visitor.visitInfo(sessionInfoStore.getInfos(), executionDataStore.getContents());