diff options
author | Evgeny Mandrikov <138671+Godin@users.noreply.github.com> | 2021-04-13 07:02:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-13 07:02:27 +0200 |
commit | 86dc5fd9f0531927054ba06991c6ee94c8da7785 (patch) | |
tree | a215dfdbd64281136e4d7504a7846e78678ed243 /org.jacoco.core/src/org/jacoco | |
parent | b68fe1a0a7fb86f12cda689ec473fd6633699b55 (diff) | |
download | jacoco-86dc5fd9f0531927054ba06991c6ee94c8da7785.tar.gz |
Update filter for Kotlin 1.5 suspending functions (#1174)
Diffstat (limited to 'org.jacoco.core/src/org/jacoco')
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter.java | 6 | ||||
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/SyntheticFilter.java | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter.java index 23943ab5..4b850f33 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinCoroutineFilter.java @@ -29,7 +29,11 @@ import org.objectweb.asm.tree.TableSwitchInsnNode; */ public final class KotlinCoroutineFilter implements IFilter { - static boolean isLastArgumentContinuation(final MethodNode methodNode) { + static boolean isImplementationOfSuspendFunction( + final MethodNode methodNode) { + if (methodNode.name.startsWith("access$")) { + return false; + } final Type methodType = Type.getMethodType(methodNode.desc); final int lastArgument = methodType.getArgumentTypes().length - 1; return lastArgument >= 0 && "kotlin.coroutines.Continuation".equals( diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/SyntheticFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/SyntheticFilter.java index 2e466114..127f7b03 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/SyntheticFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/SyntheticFilter.java @@ -52,7 +52,8 @@ public final class SyntheticFilter implements IFilter { return; } - if (KotlinCoroutineFilter.isLastArgumentContinuation(methodNode)) { + if (KotlinCoroutineFilter + .isImplementationOfSuspendFunction(methodNode)) { return; } } |