void (@NotNull PyMatchStatement matchStatement) { List<PyCaseClause> clauses = matchStatement.getCaseClauses(); if (clauses.isEmpty()) return; for (PyCaseClause clause : clauses.subList(0, clauses.size() - 1)) { PyPattern pattern = clause.getPattern(); if (pattern == null) { continue; } PyPattern unwrappedPattern = unwrapGroupAndAsPatterns(pattern); // There will be another warning for top-level star patterns if (unwrappedPattern instanceof PySingleStarPattern || unwrappedPattern instanceof PyDoubleStarPattern) { continue; } if (clause.getGuardCondition() == null && pattern.isIrrefutable()) { markError(pattern, PyPsiBundle.message("ANN.patterns.pattern.makes.remaining.case.clauses.unreachable")); } } }