aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jacoco/pom.xml4
-rw-r--r--org.jacoco.ant/META-INF/MANIFEST.MF2
-rw-r--r--org.jacoco.build/pom.xml4
-rw-r--r--org.jacoco.core.test/META-INF/MANIFEST.MF2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/internal/ContentTypeDetectorTest.java7
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/internal/analysis/MethodAnalyzerTest.java5
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/internal/flow/LabelFlowAnalyzerTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/internal/flow/MethodProbesAdapterTest.java5
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/internal/instr/DuplicateFrameEliminatorTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGeneratorTest.java2
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/runtime/RuntimeDataTest.java4
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java3
-rw-r--r--org.jacoco.core/META-INF/MANIFEST.MF6
-rw-r--r--org.jacoco.core/pom.xml2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/JaCoCo.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/ContentTypeDetector.java1
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/analysis/MethodAnalyzer.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/flow/FrameSnapshot.java6
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/flow/LabelFlowAnalyzer.java5
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/flow/MethodSanitizer.java4
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/ClassInstrumenter.java3
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/instr/DuplicateFrameEliminator.java4
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java10
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java6
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/SystemPropertiesRuntime.java4
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/URLStreamHandlerRuntime.java7
-rw-r--r--org.jacoco.doc/docroot/doc/changes.html12
-rw-r--r--org.jacoco.examples/META-INF/MANIFEST.MF2
-rw-r--r--org.jacoco.report/META-INF/MANIFEST.MF2
-rw-r--r--org.jacoco.report/pom.xml2
31 files changed, 75 insertions, 49 deletions
diff --git a/jacoco/pom.xml b/jacoco/pom.xml
index 6f7bec2a..ae322b7e 100644
--- a/jacoco/pom.xml
+++ b/jacoco/pom.xml
@@ -108,8 +108,8 @@
<configuration>
<rules>
<requireFilesSize>
- <maxsize>2710000</maxsize>
- <minsize>2100000</minsize>
+ <maxsize>3000000</maxsize>
+ <minsize>2500000</minsize>
<files>
<file>${project.build.directory}/jacoco-${qualified.bundle.version}.zip</file>
</files>
diff --git a/org.jacoco.ant/META-INF/MANIFEST.MF b/org.jacoco.ant/META-INF/MANIFEST.MF
index 80a872a3..88f8a586 100644
--- a/org.jacoco.ant/META-INF/MANIFEST.MF
+++ b/org.jacoco.ant/META-INF/MANIFEST.MF
@@ -17,4 +17,4 @@ Import-Package: org.jacoco.agent;bundle-version="[0.6.6,0.6.7)",
org.jacoco.report.csv;bundle-version="[0.6.6,0.6.7)",
org.jacoco.report.html;bundle-version="[0.6.6,0.6.7)",
org.jacoco.report.xml;bundle-version="[0.6.6,0.6.7)",
- org.objectweb.asm;version="[4.1.0,4.2.0)"
+ org.objectweb.asm;version="[5.0.0,5.1.0)"
diff --git a/org.jacoco.build/pom.xml b/org.jacoco.build/pom.xml
index d8054a03..c7452702 100644
--- a/org.jacoco.build/pom.xml
+++ b/org.jacoco.build/pom.xml
@@ -134,7 +134,7 @@
<argLine>${jvm.args}</argLine>
<!-- Dependencies versions -->
- <asm.version>4.1</asm.version>
+ <asm.version>5.0</asm.version>
<ant.version>1.7.1</ant.version>
<junit.version>4.8.2</junit.version>
@@ -201,7 +201,7 @@
<!-- Third-party dependencies -->
<dependency>
<groupId>org.ow2.asm</groupId>
- <artifactId>asm-all</artifactId>
+ <artifactId>asm-debug-all</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
diff --git a/org.jacoco.core.test/META-INF/MANIFEST.MF b/org.jacoco.core.test/META-INF/MANIFEST.MF
index 4398dfbb..aa059120 100644
--- a/org.jacoco.core.test/META-INF/MANIFEST.MF
+++ b/org.jacoco.core.test/META-INF/MANIFEST.MF
@@ -8,4 +8,4 @@ Fragment-Host: org.jacoco.core
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Import-Package: org.junit;version="[4.8.0,5.0.0)",
org.junit.rules;version="[4.8.0,5.0.0)",
- org.objectweb.asm.util;version="[4.1.0,4.2.0)"
+ org.objectweb.asm.util;version="[5.0.0,5.1.0)"
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/ContentTypeDetectorTest.java b/org.jacoco.core.test/src/org/jacoco/core/internal/ContentTypeDetectorTest.java
index be7722b4..6fc7b271 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/ContentTypeDetectorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/internal/ContentTypeDetectorTest.java
@@ -101,6 +101,13 @@ public class ContentTypeDetectorTest {
}
@Test
+ public void testClassFile18() throws IOException {
+ initData(0xCA, 0xFE, 0xBA, 0xBE, 0x00, 0x00, 0x00, 0x34);
+ assertEquals(ContentTypeDetector.CLASSFILE, detector.getType());
+ assertContent();
+ }
+
+ @Test
public void testMachObjectFile() throws IOException {
initData(0xCA, 0xFE, 0xBA, 0xBE, 0x00, 0x00, 0x00, 0x02);
assertEquals(ContentTypeDetector.UNKNOWN, detector.getType());
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/MethodAnalyzerTest.java b/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/MethodAnalyzerTest.java
index 8cfc732b..ed039c1b 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/MethodAnalyzerTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/internal/analysis/MethodAnalyzerTest.java
@@ -257,7 +257,8 @@ public class MethodAnalyzerTest implements IProbeIdGenerator {
method.visitLabel(l1);
method.visitLineNumber(1001, l1);
method.visitVarInsn(Opcodes.ALOAD, 0);
- method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "Foo", "test", "()Z");
+ method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "Foo", "test", "()Z",
+ false);
method.visitJumpInsn(Opcodes.IFEQ, l1);
final Label l2 = new Label();
method.visitLabel(l2);
@@ -512,7 +513,7 @@ public class MethodAnalyzerTest implements IProbeIdGenerator {
method.visitLineNumber(1001, l1);
method.visitVarInsn(Opcodes.ALOAD, 0);
method.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Throwable",
- "printStackTrace", "()V");
+ "printStackTrace", "()V", false);
method.visitLabel(l2);
method.visitJumpInsn(Opcodes.GOTO, l4);
method.visitLabel(l3);
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/flow/LabelFlowAnalyzerTest.java b/org.jacoco.core.test/src/org/jacoco/core/internal/flow/LabelFlowAnalyzerTest.java
index 5c748e47..5d3ec36e 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/flow/LabelFlowAnalyzerTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/internal/flow/LabelFlowAnalyzerTest.java
@@ -295,7 +295,7 @@ public class LabelFlowAnalyzerTest {
@Test
public void testMethodInsn() {
- analyzer.visitMethodInsn(INVOKEVIRTUAL, "Foo", "doit", "()V");
+ analyzer.visitMethodInsn(INVOKEVIRTUAL, "Foo", "doit", "()V", false);
assertTrue(analyzer.successor);
assertFalse(analyzer.first);
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/flow/MethodProbesAdapterTest.java b/org.jacoco.core.test/src/org/jacoco/core/internal/flow/MethodProbesAdapterTest.java
index 637bf5e3..ea329632 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/flow/MethodProbesAdapterTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/internal/flow/MethodProbesAdapterTest.java
@@ -14,7 +14,6 @@ package org.jacoco.core.internal.flow;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
-import java.util.List;
import org.jacoco.core.instr.MethodRecorder;
import org.junit.After;
@@ -87,9 +86,7 @@ public class MethodProbesAdapterTest implements IProbeIdGenerator {
}
private void rec(String name, Object... args) {
- @SuppressWarnings("unchecked")
- final List<Object> text = printer.text;
- text.add(name + Arrays.asList(args));
+ printer.text.add(name + Arrays.asList(args));
}
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/internal/instr/DuplicateFrameEliminatorTest.java b/org.jacoco.core.test/src/org/jacoco/core/internal/instr/DuplicateFrameEliminatorTest.java
index be202491..aeb4ccc2 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/internal/instr/DuplicateFrameEliminatorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/internal/instr/DuplicateFrameEliminatorTest.java
@@ -95,7 +95,7 @@ public class DuplicateFrameEliminatorTest {
@Test
public void testMethodInsn() {
testInstructionBetweenFrames(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
- "Foo", "run", "()V"));
+ "Foo", "run", "()V", false));
}
@Test
diff --git a/org.jacoco.core.test/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGeneratorTest.java b/org.jacoco.core.test/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGeneratorTest.java
index 2ebb090d..aff65fa3 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGeneratorTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGeneratorTest.java
@@ -72,7 +72,7 @@ public class OfflineInstrumentationAccessGeneratorTest {
expected.getVisitor().visitIntInsn(Opcodes.BIPUSH, 17);
String rtname = JaCoCo.RUNTIMEPACKAGE.replace('.', '/') + "/Offline";
expected.getVisitor().visitMethodInsn(Opcodes.INVOKESTATIC, rtname,
- "getProbes", "(JLjava/lang/String;I)[Z");
+ "getProbes", "(JLjava/lang/String;I)[Z", false);
assertEquals(expected, actual);
}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/runtime/RuntimeDataTest.java b/org.jacoco.core.test/src/org/jacoco/core/runtime/RuntimeDataTest.java
index 3f346eb2..4ea6190a 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/runtime/RuntimeDataTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/runtime/RuntimeDataTest.java
@@ -122,7 +122,7 @@ public class RuntimeDataTest {
mv.visitCode();
mv.visitVarInsn(Opcodes.ALOAD, 0);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Object", "<init>",
- "()V");
+ "()V", false);
mv.visitInsn(Opcodes.RETURN);
mv.visitMaxs(1, 1);
mv.visitEnd();
@@ -163,7 +163,7 @@ public class RuntimeDataTest {
mv.visitCode();
mv.visitVarInsn(Opcodes.ALOAD, 0);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Object", "<init>",
- "()V");
+ "()V", false);
mv.visitVarInsn(Opcodes.ALOAD, 0);
mv.visitVarInsn(Opcodes.ALOAD, 1);
mv.visitFieldInsn(Opcodes.PUTFIELD, "Sample", "access",
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
index e9b6e194..aae5c288 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
@@ -121,7 +121,8 @@ public class ClassFileVersionsTest {
mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
- mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
+ mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V",
+ false);
mv.visitInsn(RETURN);
mv.visitMaxs(1, 1);
mv.visitEnd();
diff --git a/org.jacoco.core/META-INF/MANIFEST.MF b/org.jacoco.core/META-INF/MANIFEST.MF
index 156eb300..bd1ca869 100644
--- a/org.jacoco.core/META-INF/MANIFEST.MF
+++ b/org.jacoco.core/META-INF/MANIFEST.MF
@@ -12,6 +12,6 @@ Export-Package: org.jacoco.core;version="0.6.6",
org.jacoco.core.internal.analysis;version="0.6.6";x-internal=true,
org.jacoco.core.runtime;version="0.6.6",
org.jacoco.core.tools;version="0.6.6"
-Import-Package: org.objectweb.asm;version="[4.1.0,4.2.0)",
- org.objectweb.asm.tree;version="[4.1.0,4.2.0)",
- org.objectweb.asm.commons;version="[4.1.0,4.2.0)"
+Import-Package: org.objectweb.asm;version="[5.0.0,5.1.0)",
+ org.objectweb.asm.tree;version="[5.0.0,5.1.0)",
+ org.objectweb.asm.commons;version="[5.0.0,5.1.0)"
diff --git a/org.jacoco.core/pom.xml b/org.jacoco.core/pom.xml
index 6bc4ccb1..9f5939e0 100644
--- a/org.jacoco.core/pom.xml
+++ b/org.jacoco.core/pom.xml
@@ -27,7 +27,7 @@
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
- <artifactId>asm-all</artifactId>
+ <artifactId>asm-debug-all</artifactId>
</dependency>
</dependencies>
diff --git a/org.jacoco.core/src/org/jacoco/core/JaCoCo.java b/org.jacoco.core/src/org/jacoco/core/JaCoCo.java
index e1d1e35e..bac35330 100644
--- a/org.jacoco.core/src/org/jacoco/core/JaCoCo.java
+++ b/org.jacoco.core/src/org/jacoco/core/JaCoCo.java
@@ -30,7 +30,7 @@ public final class JaCoCo {
public static final String RUNTIMEPACKAGE;
/** ASM API version */
- public static final int ASM_API_VERSION = Opcodes.ASM4;
+ public static final int ASM_API_VERSION = Opcodes.ASM5;
static {
final ResourceBundle bundle = ResourceBundle
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/ContentTypeDetector.java b/org.jacoco.core/src/org/jacoco/core/internal/ContentTypeDetector.java
index 87301a6d..940e185e 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/ContentTypeDetector.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/ContentTypeDetector.java
@@ -81,6 +81,7 @@ public class ContentTypeDetector {
case Opcodes.V1_5:
case Opcodes.V1_6:
case Opcodes.V1_7:
+ case Opcodes.V1_8:
return CLASSFILE;
}
}
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/MethodAnalyzer.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/MethodAnalyzer.java
index 1c6dafa2..0f2d7a00 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/MethodAnalyzer.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/MethodAnalyzer.java
@@ -149,7 +149,7 @@ public class MethodAnalyzer extends MethodProbesVisitor {
@Override
public void visitMethodInsn(final int opcode, final String owner,
- final String name, final String desc) {
+ final String name, final String desc, final boolean itf) {
visitInsn();
}
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/flow/FrameSnapshot.java b/org.jacoco.core/src/org/jacoco/core/internal/flow/FrameSnapshot.java
index abedbe8e..d97afacf 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/flow/FrameSnapshot.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/flow/FrameSnapshot.java
@@ -48,9 +48,9 @@ class FrameSnapshot implements IFrame {
if (analyzer == null || analyzer.locals == null) {
return NOP;
}
- @SuppressWarnings("unchecked")
- final List<Object> locals = analyzer.locals, stack = analyzer.stack;
- return new FrameSnapshot(reduce(locals, 0), reduce(stack, popCount));
+ final Object[] locals = reduce(analyzer.locals, 0);
+ final Object[] stack = reduce(analyzer.stack, popCount);
+ return new FrameSnapshot(locals, stack);
}
/**
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/flow/LabelFlowAnalyzer.java b/org.jacoco.core/src/org/jacoco/core/internal/flow/LabelFlowAnalyzer.java
index 2c7d0d4a..36caa44a 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/flow/LabelFlowAnalyzer.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/flow/LabelFlowAnalyzer.java
@@ -17,7 +17,6 @@ import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.MethodNode;
-import org.objectweb.asm.tree.TryCatchBlockNode;
/**
* Method visitor to collect flow related information about the {@link Label}s
@@ -37,7 +36,7 @@ public final class LabelFlowAnalyzer extends MethodVisitor {
// call to accept()
final MethodVisitor lfa = new LabelFlowAnalyzer();
for (int i = method.tryCatchBlocks.size(); --i >= 0;) {
- ((TryCatchBlockNode) method.tryCatchBlocks.get(i)).accept(lfa);
+ method.tryCatchBlocks.get(i).accept(lfa);
}
method.instructions.accept(lfa);
}
@@ -167,7 +166,7 @@ public final class LabelFlowAnalyzer extends MethodVisitor {
@Override
public void visitMethodInsn(final int opcode, final String owner,
- final String name, final String desc) {
+ final String name, final String desc, final boolean itf) {
successor = true;
first = false;
}
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodSanitizer.java b/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodSanitizer.java
index 269dc452..d9bc2f8b 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodSanitizer.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodSanitizer.java
@@ -11,6 +11,7 @@
*******************************************************************************/
package org.jacoco.core.internal.flow;
+import org.jacoco.core.JaCoCo;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.commons.JSRInlinerAdapter;
@@ -32,7 +33,8 @@ class MethodSanitizer extends JSRInlinerAdapter {
MethodSanitizer(final MethodVisitor mv, final int access,
final String name, final String desc, final String signature,
final String[] exceptions) {
- super(mv, access, name, desc, signature, exceptions);
+ super(JaCoCo.ASM_API_VERSION, mv, access, name, desc, signature,
+ exceptions);
}
@Override
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassInstrumenter.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassInstrumenter.java
index e61aeb49..dd1bf899 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassInstrumenter.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/ClassInstrumenter.java
@@ -116,7 +116,8 @@ public class ClassInstrumenter extends ClassProbesVisitor {
public int storeInstance(final MethodVisitor mv, final int variable) {
mv.visitMethodInsn(Opcodes.INVOKESTATIC, className,
- InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC);
+ InstrSupport.INITMETHOD_NAME, InstrSupport.INITMETHOD_DESC,
+ false);
mv.visitVarInsn(Opcodes.ASTORE, variable);
return 1;
}
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/DuplicateFrameEliminator.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/DuplicateFrameEliminator.java
index a3d72951..287fa1e2 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/instr/DuplicateFrameEliminator.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/DuplicateFrameEliminator.java
@@ -73,9 +73,9 @@ class DuplicateFrameEliminator extends MethodVisitor {
@Override
public void visitMethodInsn(final int opcode, final String owner,
- final String name, final String desc) {
+ final String name, final String desc, final boolean itf) {
instruction = true;
- mv.visitMethodInsn(opcode, owner, name, desc);
+ mv.visitMethodInsn(opcode, owner, name, desc, itf);
}
@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 c1a847eb..db7a8a2b 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/LoggerRuntime.java
@@ -89,7 +89,8 @@ public class LoggerRuntime extends AbstractRuntime {
mv.visitLdcInsn(CHANNEL);
mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/util/logging/Logger",
- "getLogger", "(Ljava/lang/String;)Ljava/util/logging/Logger;");
+ "getLogger", "(Ljava/lang/String;)Ljava/util/logging/Logger;",
+ false);
// Stack[2]: Ljava/util/logging/Logger;
// Stack[1]: [Ljava/lang/Object;
@@ -132,9 +133,12 @@ public class LoggerRuntime extends AbstractRuntime {
// Stack[1]: Ljava/util/logging/Logger;
// Stack[0]: [Ljava/lang/Object;
- mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/util/logging/Logger",
+ mv.visitMethodInsn(
+ Opcodes.INVOKEVIRTUAL,
+ "java/util/logging/Logger",
"log",
- "(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V");
+ "(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V",
+ false);
// Stack[0]: [Ljava/lang/Object;
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 fb29edc4..8ac23b44 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/OfflineInstrumentationAccessGenerator.java
@@ -51,7 +51,7 @@ public class OfflineInstrumentationAccessGenerator implements
mv.visitLdcInsn(classname);
InstrSupport.push(mv, probecount);
mv.visitMethodInsn(Opcodes.INVOKESTATIC, runtimeClassName, "getProbes",
- "(JLjava/lang/String;I)[Z");
+ "(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 17ba7d32..47c160c0 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/RuntimeData.java
@@ -188,7 +188,7 @@ public class RuntimeData {
mv.visitInsn(Opcodes.ICONST_0);
mv.visitLdcInsn(Long.valueOf(classid));
mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Long", "valueOf",
- "(J)Ljava/lang/Long;");
+ "(J)Ljava/lang/Long;", false);
mv.visitInsn(Opcodes.AASTORE);
// Class Name:
@@ -202,7 +202,7 @@ public class RuntimeData {
mv.visitInsn(Opcodes.ICONST_2);
InstrSupport.push(mv, probecount);
mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Integer",
- "valueOf", "(I)Ljava/lang/Integer;");
+ "valueOf", "(I)Ljava/lang/Integer;", false);
mv.visitInsn(Opcodes.AASTORE);
}
@@ -238,7 +238,7 @@ public class RuntimeData {
// stack[0]: [Ljava/lang/Object;
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Object", "equals",
- "(Ljava/lang/Object;)Z");
+ "(Ljava/lang/Object;)Z", false);
mv.visitInsn(Opcodes.POP);
// stack[0]: [Ljava/lang/Object;
diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/SystemPropertiesRuntime.java b/org.jacoco.core/src/org/jacoco/core/runtime/SystemPropertiesRuntime.java
index 35912b1f..c118532c 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/SystemPropertiesRuntime.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/SystemPropertiesRuntime.java
@@ -41,7 +41,7 @@ public class SystemPropertiesRuntime extends AbstractRuntime {
public int generateDataAccessor(final long classid, final String classname,
final int probecount, final MethodVisitor mv) {
mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/System",
- "getProperties", "()Ljava/util/Properties;");
+ "getProperties", "()Ljava/util/Properties;", false);
// Stack[0]: Ljava/util/Properties;
@@ -51,7 +51,7 @@ public class SystemPropertiesRuntime extends AbstractRuntime {
// Stack[0]: Ljava/util/Properties;
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/util/Properties",
- "get", "(Ljava/lang/Object;)Ljava/lang/Object;");
+ "get", "(Ljava/lang/Object;)Ljava/lang/Object;", false);
// Stack[0]: Ljava/lang/Object;
diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/URLStreamHandlerRuntime.java b/org.jacoco.core/src/org/jacoco/core/runtime/URLStreamHandlerRuntime.java
index 2522e17d..ae006d5b 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/URLStreamHandlerRuntime.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/URLStreamHandlerRuntime.java
@@ -90,14 +90,15 @@ public class URLStreamHandlerRuntime extends AbstractRuntime {
mv.visitInsn(Opcodes.ACONST_NULL);
mv.visitLdcInsn("");
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/net/URL", "<init>",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
+ false);
// Stack[2]: [Ljava/net/URL;
// Stack[1]: [Ljava/lang/Object;
// Stack[0]: [Ljava/lang/Object;
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/net/URL",
- "openConnection", "()Ljava/net/URLConnection;");
+ "openConnection", "()Ljava/net/URLConnection;", false);
// Stack[2]: [Ljava/net/URLConnection;
// Stack[1]: [Ljava/lang/Object;
@@ -110,7 +111,7 @@ public class URLStreamHandlerRuntime extends AbstractRuntime {
// Stack[0]: [Ljava/lang/Object;
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Object", "equals",
- "(Ljava/lang/Object;)Z");
+ "(Ljava/lang/Object;)Z", false);
// Stack[1]: Z;
// Stack[0]: [Ljava/lang/Object;
diff --git a/org.jacoco.doc/docroot/doc/changes.html b/org.jacoco.doc/docroot/doc/changes.html
index 50673c73..65538ed4 100644
--- a/org.jacoco.doc/docroot/doc/changes.html
+++ b/org.jacoco.doc/docroot/doc/changes.html
@@ -20,6 +20,18 @@
<h2>Snapshot Build @qualified.bundle.version@ (@build.date@)</h2>
+<h3>New Features</h3>
+<ul>
+ <li>JaCoCo now supports Java 8
+ (GitHub <a href="https://github.com/jacoco/jacoco/issues/74">#74</a>).</li>
+</ul>
+
+<h3>Non-functional Changes</h3>
+<ul>
+ <li>JaCoCo now depends on ASM 5.0 using asm-debug-all instead of asm-all
+ (GitHub <a href="https://github.com/jacoco/jacoco/issues/199">#199</a>).</li>
+</ul>
+
<h2>Release 0.6.5 (2014/03/03)</h2>
<h3>New Features</h3>
diff --git a/org.jacoco.examples/META-INF/MANIFEST.MF b/org.jacoco.examples/META-INF/MANIFEST.MF
index 58debcd8..5772d383 100644
--- a/org.jacoco.examples/META-INF/MANIFEST.MF
+++ b/org.jacoco.examples/META-INF/MANIFEST.MF
@@ -12,4 +12,4 @@ Import-Package: org.jacoco.core.analysis;bundle-version="[0.6.6,0.6.7)",
org.jacoco.core.tools;bundle-version="[0.6.6,0.6.7)",
org.jacoco.report;bundle-version="[0.6.6,0.6.7)",
org.jacoco.report.html;bundle-version="[0.6.6,0.6.7)",
- org.objectweb.asm;version="[4.1.0,4.2.0)"
+ org.objectweb.asm;version="[5.0.0,5.1.0)"
diff --git a/org.jacoco.report/META-INF/MANIFEST.MF b/org.jacoco.report/META-INF/MANIFEST.MF
index ad896062..c5f48094 100644
--- a/org.jacoco.report/META-INF/MANIFEST.MF
+++ b/org.jacoco.report/META-INF/MANIFEST.MF
@@ -14,4 +14,4 @@ Import-Package: org.jacoco.core;bundle-version="[0.6.6,0.6.7)",
org.jacoco.core.analysis;bundle-version="[0.6.6,0.6.7)",
org.jacoco.core.data;bundle-version="[0.6.6,0.6.7)",
org.jacoco.core.runtime;bundle-version="[0.6.6,0.6.7)",
- org.objectweb.asm;version="[4.1.0,4.2.0)"
+ org.objectweb.asm;version="[5.0.0,5.1.0)"
diff --git a/org.jacoco.report/pom.xml b/org.jacoco.report/pom.xml
index b758b070..f3894f68 100644
--- a/org.jacoco.report/pom.xml
+++ b/org.jacoco.report/pom.xml
@@ -31,7 +31,7 @@
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
- <artifactId>asm-all</artifactId>
+ <artifactId>asm-debug-all</artifactId>
</dependency>
</dependencies>