summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index 8b2a9ac5..c4fef9ce 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -1041,7 +1041,10 @@ class AstArcAnalyzer:
had_wildcard = False
for case in node.cases:
case_start = self.line_for_node(case.pattern)
- if isinstance(case.pattern, ast.MatchAs):
+ pattern = case.pattern
+ while isinstance(pattern, ast.MatchOr):
+ pattern = pattern.patterns[-1]
+ if isinstance(pattern, ast.MatchAs):
had_wildcard = True
self.add_arc(last_start, case_start, "the pattern on line {lineno} always matched")
from_start = ArcStart(case_start, cause="the pattern on line {lineno} never matched")