aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Nguyen <olivernguyen@google.com>2022-04-05 15:38:20 -0700
committerOliver Nguyen <olivernguyen@google.com>2022-05-16 17:04:20 -0700
commitb97e0695898d7cad44dcb2af09c70a386defd7a5 (patch)
tree395acce1f24f0823bc6dbc022dca00bf8ab60ab6
parent5d668dfb6cafb877f16dd7834c8b42a8b2b49d17 (diff)
downloadjacoco-b97e0695898d7cad44dcb2af09c70a386defd7a5.tar.gz
Reland: "Enable jacocoagent to build as host module."
Fixes stack frame map when instrumenting branches for newer bytecode versions. Test: EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true m HelloWorldHostTest Bug: 214313542 Change-Id: I47713542b4cf3bff64096c7350bec5d42957ed58
-rw-r--r--Android.bp1
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/InstrSupport.java3
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeInserter.java2
5 files changed, 6 insertions, 4 deletions
diff --git a/Android.bp b/Android.bp
index aad52a34..25801a46 100644
--- a/Android.bp
+++ b/Android.bp
@@ -58,6 +58,7 @@ license {
java_library {
name: "jacocoagent",
+ host_supported: true,
installable: true,
apex_available: [
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy.java
index 7a54b6d8..3e26d1b4 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassFieldProbeArrayStrategy.java
@@ -29,7 +29,7 @@ class ClassFieldProbeArrayStrategy implements IProbeArrayStrategy {
* Frame stack with a single boolean array.
*/
private static final Object[] FRAME_STACK_ARRZ = new Object[] {
- InstrSupport.DATAFIELD_DESC };
+ InstrSupport.DATAFIELD_DESC_UNQUALIFIED };
/**
* Empty frame locals.
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 c125112d..a805e0ff 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
@@ -79,7 +79,8 @@ public final class InstrSupport {
* <code>boolean[]</code>).
*/
// BEGIN android-change
- public static final String DATAFIELD_DESC = "Lorg/jacoco/core/data/IExecutionData;";
+ public static final String DATAFIELD_DESC_UNQUALIFIED = "org/jacoco/core/data/IExecutionData";
+ public static final String DATAFIELD_DESC = "L" + DATAFIELD_DESC_UNQUALIFIED + ";";
// END android-change
// === Init Method ===
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy.java
index decd234c..9c36ba7a 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/InterfaceFieldProbeArrayStrategy.java
@@ -29,7 +29,7 @@ class InterfaceFieldProbeArrayStrategy implements IProbeArrayStrategy {
* Frame stack with a single boolean array.
*/
private static final Object[] FRAME_STACK_ARRZ = new Object[] {
- InstrSupport.DATAFIELD_DESC };
+ InstrSupport.DATAFIELD_DESC_UNQUALIFIED };
/**
* Empty frame locals.
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 20794f60..59dff4bf 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
@@ -154,7 +154,7 @@ class ProbeInserter extends MethodVisitor implements IProbeInserter {
int pos = 0; // Current variable position
while (idx < nLocal || pos <= variable) {
if (pos == variable) {
- newLocal[newIdx++] = InstrSupport.DATAFIELD_DESC;
+ newLocal[newIdx++] = InstrSupport.DATAFIELD_DESC_UNQUALIFIED;
pos++;
} else {
if (idx < nLocal) {