diff options
author | Allen Hair <allenhair@google.com> | 2022-03-01 02:18:00 +0000 |
---|---|---|
committer | Allen Hair <allenhair@google.com> | 2022-03-17 23:25:07 +0000 |
commit | 57f9fdd3381050da63e88482a103acea86b74dd7 (patch) | |
tree | e68ce50b1fc964c12a1eb020ca8b2483ff2955d4 /org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java | |
parent | 473f391baad0c5c25a5d82ccda0b31825b11d7be (diff) | |
parent | d19ea595a67af6f16d76b49ccdc12858c3570298 (diff) | |
download | jacoco-57f9fdd3381050da63e88482a103acea86b74dd7.tar.gz |
Update jacoco to 0.8.7.
Bug: 194725917
Bug: 221938918
Bug: 206647174
Test: EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true m
Change-Id: I955b068b3e35d68460a633d0fe606218bdcb9391
Diffstat (limited to 'org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java')
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java index 12fe926c..a5e20265 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinLateinitFilter.java @@ -1,9 +1,10 @@ /******************************************************************************* - * Copyright (c) 2009, 2019 Mountainminds GmbH & Co. KG and Contributors - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2009, 2021 Mountainminds GmbH & Co. KG and Contributors + * This program and the accompanying materials are made available under + * the terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 * * Contributors: * Fabian Mastenbroek - initial API and implementation @@ -13,6 +14,7 @@ package org.jacoco.core.internal.analysis.filter; import org.objectweb.asm.Opcodes; import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.JumpInsnNode; import org.objectweb.asm.tree.MethodNode; /** @@ -24,9 +26,8 @@ public class KotlinLateinitFilter implements IFilter { public void filter(final MethodNode methodNode, final IFilterContext context, final IFilterOutput output) { final Matcher matcher = new Matcher(); - for (AbstractInsnNode i = methodNode.instructions - .getFirst(); i != null; i = i.getNext()) { - matcher.match(i, output); + for (final AbstractInsnNode node : methodNode.instructions) { + matcher.match(node, output); } } @@ -44,6 +45,13 @@ public class KotlinLateinitFilter implements IFilter { "throwUninitializedPropertyAccessException", "(Ljava/lang/String;)V"); + if (cursor != null + && skipNonOpcodes(cursor.getNext()) != skipNonOpcodes( + ((JumpInsnNode) start).label)) { + nextIs(Opcodes.ACONST_NULL); + nextIs(Opcodes.ATHROW); + } + if (cursor != null) { output.ignore(start, cursor); } |