diff options
author | Evgeny Mandrikov <Godin@users.noreply.github.com> | 2018-12-27 08:02:38 +0100 |
---|---|---|
committer | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2018-12-27 08:02:38 +0100 |
commit | f93bf2cbce7253f670bc10aa10f95b7e831f9a53 (patch) | |
tree | 1ff8f15a9afa535f3a4db286183020f7ff9f323b /org.jacoco.core/src | |
parent | 3b8df21b64ec1e581c620b7a12483d7a6ee1655b (diff) | |
download | jacoco-f93bf2cbce7253f670bc10aa10f95b7e831f9a53.tar.gz |
Reduce duplication of code (#808)
Diffstat (limited to 'org.jacoco.core/src')
3 files changed, 7 insertions, 40 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenFilter.java index e9ffe045..dff035cd 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenFilter.java @@ -93,20 +93,9 @@ public final class KotlinWhenFilter implements IFilter { } final Set<AbstractInsnNode> newTargets = new HashSet<AbstractInsnNode>(); for (LabelNode label : labels) { - newTargets.add(instructionAfterLabel(label)); + newTargets.add(AbstractMatcher.skipNonOpcodes(label)); } output.replaceBranches(switchNode, newTargets); } - private static AbstractInsnNode instructionAfterLabel( - final LabelNode label) { - AbstractInsnNode i = label.getNext(); - while (i.getType() == AbstractInsnNode.FRAME - || i.getType() == AbstractInsnNode.LABEL - || i.getType() == AbstractInsnNode.LINE) { - i = i.getNext(); - } - return i; - } - } diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter.java index b8694c24..895ba4e8 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/KotlinWhenStringFilter.java @@ -67,7 +67,7 @@ public final class KotlinWhenStringFilter implements IFilter { } final Set<AbstractInsnNode> replacements = new HashSet<AbstractInsnNode>(); - replacements.add(instructionAfterLabel(defaultLabel)); + replacements.add(skipNonOpcodes(defaultLabel)); for (int i = 0; i < hashCodes; i++) { while (true) { @@ -83,8 +83,8 @@ public final class KotlinWhenStringFilter implements IFilter { return; } - replacements.add(instructionAfterLabel( - ((JumpInsnNode) cursor).label)); + replacements + .add(skipNonOpcodes(((JumpInsnNode) cursor).label)); if (jump.label == defaultLabel) { // end of comparisons for same hashCode @@ -98,15 +98,4 @@ public final class KotlinWhenStringFilter implements IFilter { } } - private static AbstractInsnNode instructionAfterLabel( - final LabelNode label) { - AbstractInsnNode i = label.getNext(); - while (i.getType() == AbstractInsnNode.FRAME - || i.getType() == AbstractInsnNode.LABEL - || i.getType() == AbstractInsnNode.LINE) { - i = i.getNext(); - } - return i; - } - } diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/StringSwitchEcjFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/StringSwitchEcjFilter.java index 6c52d3b9..caa66e72 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/StringSwitchEcjFilter.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/StringSwitchEcjFilter.java @@ -67,7 +67,7 @@ public final class StringSwitchEcjFilter implements IFilter { } final Set<AbstractInsnNode> replacements = new HashSet<AbstractInsnNode>(); - replacements.add(instructionAfterLabel(defaultLabel)); + replacements.add(skipNonOpcodes(defaultLabel)); for (int i = 0; i < hashCodes; i++) { while (true) { @@ -80,8 +80,8 @@ public final class StringSwitchEcjFilter implements IFilter { return; } - replacements.add(instructionAfterLabel( - ((JumpInsnNode) cursor).label)); + replacements + .add(skipNonOpcodes(((JumpInsnNode) cursor).label)); if (cursor.getNext().getOpcode() == Opcodes.GOTO) { // end of comparisons for same hashCode @@ -99,15 +99,4 @@ public final class StringSwitchEcjFilter implements IFilter { } } - private static AbstractInsnNode instructionAfterLabel( - final LabelNode label) { - AbstractInsnNode i = label.getNext(); - while (i.getType() == AbstractInsnNode.FRAME - || i.getType() == AbstractInsnNode.LABEL - || i.getType() == AbstractInsnNode.LINE) { - i = i.getNext(); - } - return i; - } - } |