diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java index 1d189900f8fb0..b05630f868664 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java @@ -832,6 +832,7 @@ private boolean exhausts(JCExpression selector, List cases) { for (var l : c.labels) { if (l instanceof JCPatternCaseLabel patternLabel) { if (patternLabel.pat instanceof JCRecordPattern rec && + rec.patternDeclaration != null && !rec.patternDeclaration.patternFlags.contains(PatternFlags.TOTAL)) { continue; }