diff options
author | Jackal Guo <jackalguo@google.com> | 2020-08-13 01:54:53 +0000 |
---|---|---|
committer | Jackal Guo <jackalguo@google.com> | 2020-08-13 02:50:04 +0000 |
commit | d29cfbbb94ce3952e034af105dced62b6fc2c28c (patch) | |
tree | 0b116ccf62da242bfb5479f0cf727edbc44519fa | |
parent | 28558ef2ec7635c0a7e10fbb1fe9b8a80d32b636 (diff) | |
download | platform_external_jacoco-d29cfbbb94ce3952e034af105dced62b6fc2c28c.tar.gz platform_external_jacoco-d29cfbbb94ce3952e034af105dced62b6fc2c28c.tar.bz2 platform_external_jacoco-d29cfbbb94ce3952e034af105dced62b6fc2c28c.zip |
Revert "Add IExecutionData interface and move all usage to the i..."
Revert "Update JavaCodeCoverageListenerTest to new IExecutionDat..."
Revert submission 1364940-IExecutionData
Reason for revert: b/163919667
Reverted Changes:
I4fbee7a43:Update JavaCodeCoverageListenerTest to new IExecut...
I41235626b:Add IExecutionData interface and move all usage to...
Change-Id: I609da053cf4427b250efe222ee3d54fb0a9f21d2
21 files changed, 86 insertions, 313 deletions
@@ -66,10 +66,7 @@ java_library { // Generates stubs containing the classes that will be referenced by instrumented bytecode. droidstubs { name: "jacoco-stubs-gen", - srcs: [ - "org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java", - "org.jacoco.core/src/org/jacoco/core/data/IExecutionData.java", - ], + srcs: ["org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java"], } // A stubs target containing the parts of JaCoCo that we need to add to the hidden API whitelist. diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java index ee9d40b1..69a9909e 100644 --- a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java +++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java @@ -16,7 +16,6 @@ import java.util.Map; import java.util.Properties; import org.jacoco.core.data.ExecutionData; -import org.jacoco.core.data.IExecutionData; import org.jacoco.core.data.ExecutionDataStore; import org.jacoco.core.runtime.AgentOptions; import org.jacoco.core.runtime.RuntimeData; @@ -29,7 +28,7 @@ public final class Offline { // BEGIN android-change // private static final RuntimeData DATA; - private static final Map<Long, IExecutionData> DATA = new HashMap<Long, IExecutionData>(); + private static final Map<Long, ExecutionData> DATA = new HashMap<Long, ExecutionData>(); // END android-change private static final String CONFIG_RESOURCE = "/jacoco-agent.properties"; @@ -45,7 +44,6 @@ public final class Offline { // no instances } - // BEGIN android-change /** * API for offline instrumented classes. * @@ -55,25 +53,27 @@ public final class Offline { * VM class name * @param probecount * probe count for this class - * @return IExecutionData instance for this class + * @return probe array instance for this class */ - public static IExecutionData getExecutionData(final long classid, + public static boolean[] getProbes(final long classid, final String classname, final int probecount) { + // BEGIN android-change // return DATA.getExecutionData(Long.valueOf(classid), classname, // probecount).getProbes(); synchronized (DATA) { - IExecutionData entry = DATA.get(classid); + ExecutionData entry = DATA.get(classid); if (entry == null) { entry = new ExecutionData(classid, classname, probecount); DATA.put(classid, entry); } else { entry.assertCompatibility(classid, classname, probecount); } - return entry; + return entry.getProbes(); } + // END android-change } - // END android-change + // BEGIN android-change /** * Creates a default agent, using config loaded from the classpath resource and the system * properties, and a runtime data instance populated with the execution data accumulated by @@ -87,7 +87,7 @@ public final class Offline { System.getProperties()); synchronized (DATA) { ExecutionDataStore store = new ExecutionDataStore(); - for (IExecutionData data : DATA.values()) { + for (ExecutionData data : DATA.values()) { store.put(data); } return Agent.getInstance(new AgentOptions(config), new RuntimeData(store)); diff --git a/org.jacoco.cli/src/org/jacoco/cli/internal/commands/ExecInfo.java b/org.jacoco.cli/src/org/jacoco/cli/internal/commands/ExecInfo.java index 4519d28f..cacf4cbe 100644 --- a/org.jacoco.cli/src/org/jacoco/cli/internal/commands/ExecInfo.java +++ b/org.jacoco.cli/src/org/jacoco/cli/internal/commands/ExecInfo.java @@ -20,7 +20,7 @@ import java.util.Date; import java.util.List; import org.jacoco.cli.internal.Command; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.ExecutionDataReader; import org.jacoco.core.data.IExecutionDataVisitor; import org.jacoco.core.data.ISessionInfoVisitor; @@ -68,15 +68,13 @@ public class ExecInfo extends Command { } }); reader.setExecutionDataVisitor(new IExecutionDataVisitor() { - // BEGIN android-change - public void visitClassExecution(final IExecutionData data) { + public void visitClassExecution(final ExecutionData data) { out.printf("%016x %3d of %3d %s%n", Long.valueOf(data.getId()), - Integer.valueOf(getHitCount(data.getProbesCopy())), - Integer.valueOf(data.getProbeCount()), + Integer.valueOf(getHitCount(data.getProbes())), + Integer.valueOf(data.getProbes().length), data.getName()); } - // END android-change }); reader.read(); in.close(); diff --git a/org.jacoco.core/src/org/jacoco/core/analysis/Analyzer.java b/org.jacoco.core/src/org/jacoco/core/analysis/Analyzer.java index 7759b89d..76b7be3c 100644 --- a/org.jacoco.core/src/org/jacoco/core/analysis/Analyzer.java +++ b/org.jacoco.core/src/org/jacoco/core/analysis/Analyzer.java @@ -20,7 +20,7 @@ import java.util.zip.GZIPInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.ExecutionDataStore; import org.jacoco.core.internal.ContentTypeDetector; import org.jacoco.core.internal.InputStreams; @@ -78,18 +78,16 @@ public class Analyzer { */ private ClassVisitor createAnalyzingVisitor(final long classid, final String className) { - // BEGIN android-change - final IExecutionData data = executionData.get(classid); + final ExecutionData data = executionData.get(classid); final boolean[] probes; final boolean noMatch; if (data == null) { probes = null; noMatch = executionData.contains(className); } else { - probes = data.getProbesCopy(); + probes = data.getProbes(); noMatch = false; } - // END android-change final ClassCoverageImpl coverage = new ClassCoverageImpl(className, classid, noMatch); final ClassAnalyzer analyzer = new ClassAnalyzer(coverage, probes, diff --git a/org.jacoco.core/src/org/jacoco/core/data/ExecutionData.java b/org.jacoco.core/src/org/jacoco/core/data/ExecutionData.java index a728e033..d98775eb 100644 --- a/org.jacoco.core/src/org/jacoco/core/data/ExecutionData.java +++ b/org.jacoco.core/src/org/jacoco/core/data/ExecutionData.java @@ -20,9 +20,7 @@ import java.util.Arrays; * has to be taken about the probe data array of type <code>boolean[]</code> * which can be modified. */ -// BEGIN android-change -public final class ExecutionData implements IExecutionData { -// END android-change +public final class ExecutionData { private final long id; @@ -83,43 +81,15 @@ public final class ExecutionData implements IExecutionData { return name; } - // BEGIN android-change /** - * Returns a copy of the current probe values. - * - * @return copy of the probe array - */ - public boolean[] getProbesCopy() { - return Arrays.copyOf(probes, probes.length); - } - - /** - * The number of probes in this ExecutionData. - * - * @return the number of probes - */ - public int getProbeCount() { - return probes.length; - } - - /** - * Returns the execution data probe for a given index. A value of - * <code>true</code> indicates that the corresponding probe was - * executed. + * Returns the execution data probes. A value of <code>true</code> indicates + * that the corresponding probe was executed. * * @return probe data */ - public boolean getProbe(final int index) { - return probes[index]; - } - - /** - * Sets the execution data probe for a given index to <code>true</code>. - */ - public void setProbe(final int index) { - probes[index] = true; + public boolean[] getProbes() { + return probes; } - // END android-change /** * Sets all probes to <code>false</code>. @@ -157,9 +127,7 @@ public final class ExecutionData implements IExecutionData { * @param other * execution data to merge */ - // BEGIN android-change - public void merge(final IExecutionData other) { - // END android-change + public void merge(final ExecutionData other) { merge(other, true); } @@ -186,12 +154,10 @@ public final class ExecutionData implements IExecutionData { * @param flag * merge mode */ - public void merge(final IExecutionData other, final boolean flag) { - // BEGIN android-change + public void merge(final ExecutionData other, final boolean flag) { assertCompatibility(other.getId(), other.getName(), - other.getProbeCount()); - final boolean[] otherData = other.getProbesCopy(); - // END android-change + other.getProbes().length); + final boolean[] otherData = other.getProbes(); for (int i = 0; i < probes.length; i++) { if (otherData[i]) { probes[i] = flag; diff --git a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataStore.java b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataStore.java index ce0bec47..3e567a3b 100644 --- a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataStore.java +++ b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataStore.java @@ -28,9 +28,7 @@ import java.util.Set; */ public final class ExecutionDataStore implements IExecutionDataVisitor { - // BEGIN android-change - private final Map<Long, IExecutionData> entries = new HashMap<Long, IExecutionData>(); - // END android-change + private final Map<Long, ExecutionData> entries = new HashMap<Long, ExecutionData>(); private final Set<String> names = new HashSet<String>(); @@ -46,11 +44,9 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * to a corresponding one, that is already contained * @see ExecutionData#assertCompatibility(long, String, int) */ - // BEGIN android-change - public void put(final IExecutionData data) throws IllegalStateException { + public void put(final ExecutionData data) throws IllegalStateException { final Long id = Long.valueOf(data.getId()); - final IExecutionData entry = entries.get(id); - // END android-change + final ExecutionData entry = entries.get(id); if (entry == null) { entries.put(id, data); names.add(data.getName()); @@ -72,11 +68,9 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * to a corresponding one, that is already contained * @see ExecutionData#assertCompatibility(long, String, int) */ - // BEGIN android-change - public void subtract(final IExecutionData data) throws IllegalStateException { + public void subtract(final ExecutionData data) throws IllegalStateException { final Long id = Long.valueOf(data.getId()); - final IExecutionData entry = entries.get(id); - // END android-change + final ExecutionData entry = entries.get(id); if (entry != null) { entry.merge(data, false); } @@ -90,9 +84,7 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * @see #subtract(ExecutionData) */ public void subtract(final ExecutionDataStore store) { - // BEGIN android-change - for (final IExecutionData data : store.getContents()) { - // END android-change + for (final ExecutionData data : store.getContents()) { subtract(data); } } @@ -105,9 +97,7 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * class id * @return execution data or <code>null</code> */ - // BEGIN android-change - public IExecutionData get(final long id) { - // END android-change + public ExecutionData get(final long id) { return entries.get(Long.valueOf(id)); } @@ -136,11 +126,9 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * probe data length * @return execution data */ - // BEGIN android-change - public IExecutionData get(final Long id, final String name, + public ExecutionData get(final Long id, final String name, final int probecount) { - IExecutionData entry = entries.get(id); - // END android-change + ExecutionData entry = entries.get(id); if (entry == null) { entry = new ExecutionData(id.longValue(), name, probecount); entries.put(id, entry); @@ -156,9 +144,7 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * execution data objects itself are not removed. */ public void reset() { - // BEGIN android-change - for (final IExecutionData executionData : this.entries.values()) { - // END android-change + for (final ExecutionData executionData : this.entries.values()) { executionData.reset(); } } @@ -168,11 +154,9 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * * @return current contents */ - // BEGIN android-change - public Collection<IExecutionData> getContents() { - return new ArrayList<IExecutionData>(entries.values()); + public Collection<ExecutionData> getContents() { + return new ArrayList<ExecutionData>(entries.values()); } - // END android-change /** * Writes the content of the store to the given visitor interface. @@ -181,18 +165,14 @@ public final class ExecutionDataStore implements IExecutionDataVisitor { * interface to write content to */ public void accept(final IExecutionDataVisitor visitor) { - // BEGIN android-change - for (final IExecutionData data : getContents()) { - // END android-change + for (final ExecutionData data : getContents()) { visitor.visitClassExecution(data); } } // === IExecutionDataVisitor === - // BEGIN android-change - public void visitClassExecution(final IExecutionData data) { - // END android-change + public void visitClassExecution(final ExecutionData data) { put(data); } } diff --git a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataWriter.java b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataWriter.java index bdf3445d..e697dda3 100644 --- a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataWriter.java +++ b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataWriter.java @@ -94,17 +94,13 @@ public class ExecutionDataWriter implements ISessionInfoVisitor, } } - // BEGIN android-change - public void visitClassExecution(final IExecutionData data) { - // END android-change + public void visitClassExecution(final ExecutionData data) { if (data.hasHits()) { try { out.writeByte(BLOCK_EXECUTIONDATA); out.writeLong(data.getId()); out.writeUTF(data.getName()); - // BEGIN android-change - out.writeBooleanArray(data.getProbesCopy()); - // END android-change + out.writeBooleanArray(data.getProbes()); } catch (final IOException e) { throw new RuntimeException(e); } diff --git a/org.jacoco.core/src/org/jacoco/core/data/IExecutionData.java b/org.jacoco.core/src/org/jacoco/core/data/IExecutionData.java deleted file mode 100644 index 289c3726..00000000 --- a/org.jacoco.core/src/org/jacoco/core/data/IExecutionData.java +++ /dev/null @@ -1,129 +0,0 @@ -// BEGIN android-change -package org.jacoco.core.data; - -/** - * Interface for interacting with execution data for a single Java class. - */ -public interface IExecutionData { - - /** - * Return the unique identifier for this class. The identifier is the CRC64 - * checksum of the raw class file definition. - * - * @return class identifier - */ - public abstract long getId(); - - /** - * The VM name of the class. - * - * @return VM name - */ - public abstract String getName(); - - /** - * The number of instrumentation probes for this class. - * - * @return number of probes - */ - public abstract int getProbeCount(); - - /** - * Returns a copy of the probe data as a boolean array. - * - * Changes to the returned array will not be reflected in the execution data. - * - * @return copy of the probe data - */ - public abstract boolean[] getProbesCopy(); - - /** - * Sets all probes to <code>false</code>. - */ - public abstract void reset(); - - /** - * Checks whether any probe has been hit. - * - * @return <code>true</code>, if at least one probe has been hit - */ - public abstract boolean hasHits(); - - /** - * Merges the given execution data into the probe data of this object. I.e. - * a probe entry in this object is marked as executed (<code>true</code>) if - * this probe or the corresponding other probe was executed. So the result - * is - * - * <pre> - * A or B - * </pre> - * - * The probe array of the other object is not modified. - * - * @param other - * execution data to merge - */ - public abstract void merge(final IExecutionData other); - - /** - * Merges the given execution data into the probe data of this object. A - * probe in this object is set to the value of <code>flag</code> if the - * corresponding other probe was executed. For <code>flag==true</code> this - * corresponds to - * - * <pre> - * A or B - * </pre> - * - * For <code>flag==false</code> this can be considered as a subtraction - * - * <pre> - * A and not B - * </pre> - * - * The probe array of the other object is not modified. - * - * @param other - * execution data to merge - * @param flag - * merge mode - */ - public abstract void merge(final IExecutionData other, boolean flag); - - /** - * Asserts that this execution data object is compatible with the given - * parameters. The purpose of this check is to detect a very unlikely class - * id collision. - * - * @param id - * other class id, must be the same - * @param name - * other name, must be equal to this name - * @param probecount - * probe data length, must be the same as for this data - * @throws IllegalStateException - * if the given parameters do not match this instance - */ - public abstract void assertCompatibility(final long id, final String name, final int probeCount) throws IllegalStateException; - - /** - * Returns the execution data probe for a given index. A value of - * <code>true</code> indicates that the corresponding probe was - * executed. - * - * @param index the probe's index to look up - * - * @return probe data - */ - public abstract boolean getProbe(final int index); - - /** - * Sets the execution data probe at the given index to <code>true</code>. - * - * @param index the probe's index to set - * @param value the value to set the probe to - */ - public abstract void setProbe(final int index); -} -// END android-change diff --git a/org.jacoco.core/src/org/jacoco/core/data/IExecutionDataVisitor.java b/org.jacoco.core/src/org/jacoco/core/data/IExecutionDataVisitor.java index 14eabbe7..6cea7c57 100644 --- a/org.jacoco.core/src/org/jacoco/core/data/IExecutionDataVisitor.java +++ b/org.jacoco.core/src/org/jacoco/core/data/IExecutionDataVisitor.java @@ -24,8 +24,6 @@ public interface IExecutionDataVisitor { * @param data * execution data for a class */ - // BEGIN android-change - void visitClassExecution(IExecutionData data); - // END android-change + void visitClassExecution(ExecutionData data); } diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java index 4d4e1ba1..85e83a3a 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java @@ -77,9 +77,7 @@ public final class InstrSupport { * Data type of the field that stores coverage information for a class ( * <code>boolean[]</code>). */ - // BEGIN android-change - public static final String DATAFIELD_DESC = "Lorg/jacoco/core/data/IExecutionData;"; - // END android-change + public static final String DATAFIELD_DESC = "[Z"; // === Init Method === @@ -91,9 +89,7 @@ public final class InstrSupport { /** * Descriptor of the initialization method. */ - // BEGIN android-change - public static final String INITMETHOD_DESC = "()Lorg/jacoco/core/data/IExecutionData;"; - // END android-change + public static final String INITMETHOD_DESC = "()[Z"; /** * Access modifiers of the initialization method. diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeInserter.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeInserter.java index 0cac8f8f..63fbf765 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeInserter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeInserter.java @@ -67,20 +67,25 @@ class ProbeInserter extends MethodVisitor implements IProbeInserter { public void insertProbe(final int id) { - // BEGIN android-change - // For a probe we call setProbe on the IExecutionData object. + // For a probe we set the corresponding position in the boolean[] array + // to true. mv.visitVarInsn(Opcodes.ALOAD, variable); - // Stack[0]: Lorg/jacoco/core/data/IExecutionData; + // Stack[0]: [Z InstrSupport.push(mv, id); // Stack[1]: I - // Stack[0]: Lorg/jacoco/core/data/IExecutionData; + // Stack[0]: [Z - mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, "org/jacoco/core/data/IExecutionData", "setProbe", "(I)V", true); - // END android-change + mv.visitInsn(Opcodes.ICONST_1); + + // Stack[2]: I + // Stack[1]: I + // Stack[0]: [Z + + mv.visitInsn(Opcodes.BASTORE); } @Override diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java b/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java index bef42030..72553956 100644 --- a/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java +++ b/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java @@ -168,9 +168,7 @@ public class LoggerRuntime extends AbstractRuntime { @Override public void publish(final LogRecord record) { if (key.equals(record.getMessage())) { - // BEGIN android-change - data.getExecutionData(record.getParameters()); - // END android-change + data.getProbes(record.getParameters()); } } diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java b/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java index a5e88b60..af6671ee 100644 --- a/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java +++ b/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java @@ -50,10 +50,8 @@ public class OfflineInstrumentationAccessGenerator implements mv.visitLdcInsn(Long.valueOf(classid)); mv.visitLdcInsn(classname); InstrSupport.push(mv, probecount); - // BEGIN android-change - mv.visitMethodInsn(Opcodes.INVOKESTATIC, runtimeClassName, "getExecutionData", - "(JLjava/lang/String;I)Lorg/jacoco/core/data/IExecutionData;", false); - // END android-change + mv.visitMethodInsn(Opcodes.INVOKESTATIC, runtimeClassName, "getProbes", + "(JLjava/lang/String;I)[Z", false); return 4; } diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java b/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java index c0fbb654..afb5b7f3 100644 --- a/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java +++ b/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java @@ -11,7 +11,7 @@ *******************************************************************************/ package org.jacoco.core.runtime; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.ExecutionDataStore; import org.jacoco.core.data.IExecutionDataVisitor; import org.jacoco.core.data.ISessionInfoVisitor; @@ -128,18 +128,15 @@ public class RuntimeData { * probe data length * @return execution data */ - // BEGIN android-change - public IExecutionData getExecutionData(final Long id, final String name, + public ExecutionData getExecutionData(final Long id, final String name, final int probecount) { - // END android-change synchronized (store) { return store.get(id, name, probecount); } } - // BEGIN android-change /** - * Retrieves the execution data for a given class. The passed + * Retrieves the execution probe array for a given class. The passed * {@link Object} array instance is used for parameters and the return value * as follows. Call parameters: * @@ -152,19 +149,18 @@ public class RuntimeData { * Return value: * * <ul> - * <li>args[0]: execution data ({@link IExecutionData}) + * <li>args[0]: probe array (<code>boolean[]</code>) * </ul> * * @param args * parameter array of length 3 */ - public void getExecutionData(final Object[] args) { + public void getProbes(final Object[] args) { final Long classid = (Long) args[0]; final String name = (String) args[1]; final int probecount = ((Integer) args[2]).intValue(); - args[0] = getExecutionData(classid, name, probecount); + args[0] = getExecutionData(classid, name, probecount).getProbes(); } - // END android-change /** * In violation of the regular semantic of {@link Object#equals(Object)} @@ -177,9 +173,7 @@ public class RuntimeData { @Override public boolean equals(final Object args) { if (args instanceof Object[]) { - // BEGIN android-change - getExecutionData((Object[]) args); - // END android-change + getProbes((Object[]) args); } return super.equals(args); } diff --git a/org.jacoco.report/src/org/jacoco/report/IReportVisitor.java b/org.jacoco.report/src/org/jacoco/report/IReportVisitor.java index 1cf4aed4..db36796d 100644 --- a/org.jacoco.report/src/org/jacoco/report/IReportVisitor.java +++ b/org.jacoco.report/src/org/jacoco/report/IReportVisitor.java @@ -15,7 +15,7 @@ import java.io.IOException; import java.util.Collection; import java.util.List; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; /** @@ -39,9 +39,7 @@ public interface IReportVisitor extends IReportGroupVisitor { * in case of IO problems with the report writer */ void visitInfo(List<SessionInfo> sessionInfos, - // BEGIN android-change - Collection<IExecutionData> executionData) throws IOException; - // END android-change + Collection<ExecutionData> executionData) throws IOException; /** * Has to be called after all report data has been emitted. diff --git a/org.jacoco.report/src/org/jacoco/report/MultiReportVisitor.java b/org.jacoco.report/src/org/jacoco/report/MultiReportVisitor.java index f4fefa85..3cd5e558 100644 --- a/org.jacoco.report/src/org/jacoco/report/MultiReportVisitor.java +++ b/org.jacoco.report/src/org/jacoco/report/MultiReportVisitor.java @@ -17,7 +17,7 @@ import java.util.Collection; import java.util.List; import org.jacoco.core.analysis.IBundleCoverage; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; /** @@ -41,9 +41,7 @@ public class MultiReportVisitor extends MultiGroupVisitor implements } public void visitInfo(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData) throws IOException { - // END android-chnage + final Collection<ExecutionData> executionData) throws IOException { for (final IReportVisitor v : visitors) { v.visitInfo(sessionInfos, executionData); } diff --git a/org.jacoco.report/src/org/jacoco/report/check/RulesChecker.java b/org.jacoco.report/src/org/jacoco/report/check/RulesChecker.java index f7435600..cc6acf04 100644 --- a/org.jacoco.report/src/org/jacoco/report/check/RulesChecker.java +++ b/org.jacoco.report/src/org/jacoco/report/check/RulesChecker.java @@ -17,7 +17,7 @@ import java.util.Collection; import java.util.List; import org.jacoco.core.analysis.IBundleCoverage; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; import org.jacoco.report.ILanguageNames; import org.jacoco.report.IReportGroupVisitor; @@ -86,9 +86,7 @@ public class RulesChecker { } public void visitInfo(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData) - // END android-change + final Collection<ExecutionData> executionData) throws IOException { } diff --git a/org.jacoco.report/src/org/jacoco/report/csv/CSVFormatter.java b/org.jacoco.report/src/org/jacoco/report/csv/CSVFormatter.java index 42939daa..793e2153 100644 --- a/org.jacoco.report/src/org/jacoco/report/csv/CSVFormatter.java +++ b/org.jacoco.report/src/org/jacoco/report/csv/CSVFormatter.java @@ -17,7 +17,7 @@ import java.io.OutputStreamWriter; import java.util.Collection; import java.util.List; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; import org.jacoco.report.ILanguageNames; import org.jacoco.report.IReportVisitor; @@ -84,9 +84,7 @@ public class CSVFormatter { } public void visitInfo(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData) - // END android-change + final Collection<ExecutionData> executionData) throws IOException { // Info not used for CSV report } diff --git a/org.jacoco.report/src/org/jacoco/report/html/HTMLFormatter.java b/org.jacoco.report/src/org/jacoco/report/html/HTMLFormatter.java index ce8cd2d9..9994ced0 100644 --- a/org.jacoco.report/src/org/jacoco/report/html/HTMLFormatter.java +++ b/org.jacoco.report/src/org/jacoco/report/html/HTMLFormatter.java @@ -18,7 +18,7 @@ import java.util.Locale; import org.jacoco.core.analysis.IBundleCoverage; import org.jacoco.core.analysis.ICoverageNode.CounterEntity; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; import org.jacoco.report.ILanguageNames; import org.jacoco.report.IMultiReportOutput; @@ -193,16 +193,12 @@ public class HTMLFormatter implements IHTMLReportContext { return new IReportVisitor() { private List<SessionInfo> sessionInfos; - // BEGIN android-change - private Collection<IExecutionData> executionData; - // END android-change + private Collection<ExecutionData> executionData; private HTMLGroupVisitor groupHandler; public void visitInfo(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData) - // END android-change + final Collection<ExecutionData> executionData) throws IOException { this.sessionInfos = sessionInfos; this.executionData = executionData; diff --git a/org.jacoco.report/src/org/jacoco/report/internal/html/page/SessionsPage.java b/org.jacoco.report/src/org/jacoco/report/internal/html/page/SessionsPage.java index 3a489025..67de4941 100644 --- a/org.jacoco.report/src/org/jacoco/report/internal/html/page/SessionsPage.java +++ b/org.jacoco.report/src/org/jacoco/report/internal/html/page/SessionsPage.java @@ -20,7 +20,7 @@ import java.util.Comparator; import java.util.Date; import java.util.List; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; import org.jacoco.report.ILanguageNames; import org.jacoco.report.internal.ReportOutputFolder; @@ -48,7 +48,7 @@ public class SessionsPage extends ReportPage { private final DateFormat dateFormat; - private final List<IExecutionData> executionData; + private final List<ExecutionData> executionData; private final ElementIndex index; @@ -69,24 +69,18 @@ public class SessionsPage extends ReportPage { * settings context */ public SessionsPage(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData, - // END android-change + final Collection<ExecutionData> executionData, final ElementIndex index, final ReportPage parent, final ReportOutputFolder folder, final IHTMLReportContext context) { super(parent, folder, context); this.sessionInfos = sessionInfos; - // BEGIN android-change - this.executionData = new ArrayList<IExecutionData>(executionData); - // END android-change + this.executionData = new ArrayList<ExecutionData>(executionData); this.index = index; this.dateFormat = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, context.getLocale()); final ILanguageNames names = context.getLanguageNames(); - // BEGIN android-change - Collections.sort(this.executionData, new Comparator<IExecutionData>() { - public int compare(final IExecutionData e1, final IExecutionData e2) { - // END android-change + Collections.sort(this.executionData, new Comparator<ExecutionData>() { + public int compare(final ExecutionData e1, final ExecutionData e2) { return names.getQualifiedClassName(e1.getName()).compareTo( names.getQualifiedClassName(e2.getName())); } @@ -135,9 +129,7 @@ public class SessionsPage extends ReportPage { } final HTMLElement tbody = table.tbody(); final ILanguageNames names = context.getLanguageNames(); - // BEGIN android-change - for (final IExecutionData e : executionData) { - // END android-change + for (final ExecutionData e : executionData) { final HTMLElement tr = tbody.tr(); final String link = index.getLinkToClass(e.getId()); final String qualifiedName = names.getQualifiedClassName(e diff --git a/org.jacoco.report/src/org/jacoco/report/xml/XMLFormatter.java b/org.jacoco.report/src/org/jacoco/report/xml/XMLFormatter.java index 3bda5ed4..a1fee86e 100644 --- a/org.jacoco.report/src/org/jacoco/report/xml/XMLFormatter.java +++ b/org.jacoco.report/src/org/jacoco/report/xml/XMLFormatter.java @@ -17,7 +17,7 @@ import java.util.Collection; import java.util.List; import org.jacoco.core.analysis.IBundleCoverage; -import org.jacoco.core.data.IExecutionData; +import org.jacoco.core.data.ExecutionData; import org.jacoco.core.data.SessionInfo; import org.jacoco.report.IReportGroupVisitor; import org.jacoco.report.IReportVisitor; @@ -61,9 +61,7 @@ public class XMLFormatter { private XMLGroupVisitor groupVisitor; public void visitInfo(final List<SessionInfo> sessionInfos, - // BEGIN android-change - final Collection<IExecutionData> executionData) - // END android-change + final Collection<ExecutionData> executionData) throws IOException { this.sessionInfos = sessionInfos; } |