diff options
Diffstat (limited to 'org.jacoco.core/src/org/jacoco/core/data')
5 files changed, 26 insertions, 215 deletions
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); } |