@@ -613,20 +613,20 @@ final class RecoveryTests: XCTestCase {
613613 switch1️⃣
614614 """ ,
615615 diagnostics: [
616- DiagnosticSpec ( message: " expected expression and '{}' to end 'switch' statement " )
616+ DiagnosticSpec ( locationMarker : " 1️⃣ " , message: " expected expression and '{}' to end 'switch' statement " )
617617 ]
618618 )
619619 }
620620
621621 func testRecovery46( ) {
622622 AssertParse (
623623 """
624- switch 1️⃣{
624+ switch 1️⃣{2️⃣
625625 }
626626 """ ,
627627 diagnostics: [
628- DiagnosticSpec ( message: " expected expression in 'switch' statement " )
629- // TODO: Old parser expected error on line 1: 'switch' statement body must have at least one 'case' or 'default' block
628+ DiagnosticSpec ( locationMarker : " 1️⃣ " , message: " expected expression in 'switch' statement " ) ,
629+ DiagnosticSpec ( locationMarker : " 2️⃣ " , message : " 'switch' statement body must have at least one 'case' or 'default' block " ) ,
630630 ]
631631 )
632632 }
@@ -635,12 +635,12 @@ final class RecoveryTests: XCTestCase {
635635 AssertParse (
636636 """
637637 switch 1️⃣
638- {
638+ {2️⃣
639639 }
640640 """ ,
641641 diagnostics: [
642- DiagnosticSpec ( message: " expected expression in 'switch' statement " )
643- // TODO: Old parser expected error on line 1: 'switch' statement body must have at least one 'case' or 'default' block
642+ DiagnosticSpec ( locationMarker : " 1️⃣ " , message: " expected expression in 'switch' statement " ) ,
643+ DiagnosticSpec ( locationMarker : " 2️⃣ " , message : " 'switch' statement body must have at least one 'case' or 'default' block " ) ,
644644 ]
645645 )
646646 }
@@ -667,36 +667,39 @@ final class RecoveryTests: XCTestCase {
667667 }
668668 """ ,
669669 diagnostics: [
670- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " ) ,
670+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " )
671671 // TODO: Old parser expected error on line 2: 'is' keyword required to pattern match against type name, Fix-It replacements: 10 - 10 = 'is '
672- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " 'case' can only appear inside a 'switch' statement or 'enum' declaration " ) ,
673- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " 'case' can only appear inside a 'switch' statement or 'enum' declaration " ) ,
674672 ]
675673 )
676674 }
677675
678676 func testRecovery50( ) {
679677 AssertParse (
680678 """
681- switch 1️⃣{ 42 } {
682- case _: return
679+ switch 1️⃣{ 2️⃣42 } {
680+ 3️⃣case _: return
683681 }
684682 """ ,
685683 diagnostics: [
686- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " )
684+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " ) ,
685+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " all statements inside a switch must be covered by a 'case' or 'default' label " ) ,
686+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " 'case' can only appear inside a 'switch' statement or 'enum' declaration " ) ,
687687 ]
688688 )
689689 }
690690
691691 func testRecovery51( ) {
692692 AssertParse (
693693 """
694- switch 1️⃣{ 42 }() {
695- case _: return
694+ switch 1️⃣{ 2️⃣42 }()3️⃣ {
695+ 4️⃣case _: return
696696 }
697697 """ ,
698698 diagnostics: [
699- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " )
699+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected expression in 'switch' statement " ) ,
700+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " all statements inside a switch must be covered by a 'case' or 'default' label " ) ,
701+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " consecutive statements on a line must be separated by ';' " ) ,
702+ DiagnosticSpec ( locationMarker: " 4️⃣ " , message: " 'case' can only appear inside a 'switch' statement or 'enum' declaration " ) ,
700703 ]
701704 )
702705 }
0 commit comments