diff options
author | Oliver Nguyen <olivernguyen@google.com> | 2022-04-05 15:38:20 -0700 |
---|---|---|
committer | Oliver Nguyen <olivernguyen@google.com> | 2022-05-16 17:04:20 -0700 |
commit | b97e0695898d7cad44dcb2af09c70a386defd7a5 (patch) | |
tree | 395acce1f24f0823bc6dbc022dca00bf8ab60ab6 | |
parent | 5d668dfb6cafb877f16dd7834c8b42a8b2b49d17 (diff) | |
download | jacoco-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
5 files changed, 6 insertions, 4 deletions
@@ -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) { |