@@ -128,11 +128,14 @@ final class DeclarationTests: XCTestCase {
128128 ]
129129 )
130130 assertParse (
131- " class B <where g1️⃣ " ,
131+ " class Bℹ️ <where g1️⃣ " ,
132132 diagnostics: [
133133 DiagnosticSpec ( message: " expected ':' or '==' to indicate a conformance or same-type requirement " ) ,
134- DiagnosticSpec ( message: " expected '>' to end generic parameter clause " , fixIts: [ " insert '>' " ] ) ,
135- DiagnosticSpec ( message: " expected member block in class " , fixIts: [ " insert member block " ] ) ,
134+ DiagnosticSpec ( message: " expected '>' to end generic parameter clause " ,
135+ notes: [ NoteSpec ( message: " to match this opening '<' " ) ] ,
136+ fixIts: [ " insert '>' " ] ) ,
137+ DiagnosticSpec ( message: " expected member block in class " ,
138+ fixIts: [ " insert member block " ] ) ,
136139 ]
137140 )
138141 }
@@ -185,11 +188,14 @@ final class DeclarationTests: XCTestCase {
185188 )
186189
187190 assertParse (
188- " protocol P {1️⃣{}case2️⃣ " ,
191+ " protocol Pℹ️ {1️⃣{}case2️⃣ " ,
189192 diagnostics: [
190193 DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " unexpected code '{}' before enum case " ) ,
191- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in enum case " , fixIts: [ " insert identifier " ] ) ,
192- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '}' to end protocol " , fixIts: [ " insert '}' " ] ) ,
194+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in enum case " ,
195+ fixIts: [ " insert identifier " ] ) ,
196+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '}' to end protocol " ,
197+ notes: [ NoteSpec ( message: " to match this opening '{' " ) ] ,
198+ fixIts: [ " insert '}' " ] ) ,
193199 ]
194200 )
195201 }
@@ -626,9 +632,11 @@ final class DeclarationTests: XCTestCase {
626632
627633 func testMissingClosingParenInFunctionSignature( ) {
628634 assertParse (
629- " func test (first second: Int1️⃣ " ,
635+ " func testℹ️ (first second: Int1️⃣ " ,
630636 diagnostics: [
631- DiagnosticSpec ( message: " expected ')' to end parameter clause " , fixIts: [ " insert ')' " ] )
637+ DiagnosticSpec ( message: " expected ')' to end parameter clause " ,
638+ notes: [ NoteSpec ( message: " to match this opening '(' " ) ] ,
639+ fixIts: [ " insert ')' " ] )
632640 ]
633641 )
634642 }
@@ -745,14 +753,18 @@ final class DeclarationTests: XCTestCase {
745753 func testExpressionMember( ) {
746754 assertParse (
747755 """
748- struct S {1️⃣
749- /2️⃣ ###line 25 " line-directive.swift " 3️⃣
756+ struct S ℹ️ {1️⃣
757+ 🔟 /2️⃣ ###line 25 " line-directive.swift " 3️⃣
750758 4️⃣}
751759 """ ,
752760 diagnostics: [
753- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected '}' to end struct " , fixIts: [ " insert '}' " ] ) ,
761+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected '}' to end struct " ,
762+ notes: [ NoteSpec ( message: " to match this opening '{' " ) ] ,
763+ fixIts: [ " insert '}' " ] ) ,
754764 DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " bare slash regex literal may not start with space " ) ,
755- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected '/' to end regex literal " , fixIts: [ " insert '/ \' " ] ) ,
765+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected '/' to end regex literal " ,
766+ notes: [ NoteSpec ( locationMarker: " 🔟 " , message: " to match this opening '/' " ) ] ,
767+ fixIts: [ " insert '/ \' " ] ) ,
756768 DiagnosticSpec ( locationMarker: " 4️⃣ " , message: " extraneous brace at top level " ) ,
757769 ]
758770 )
@@ -837,7 +849,7 @@ final class DeclarationTests: XCTestCase {
837849
838850 func testDontRecoverFromDeclKeyword( ) {
839851 assertParse (
840- " func foo (first second 1️⃣third 2️⃣struct3️⃣: Int4️⃣) {} " ,
852+ " func fooℹ️ (first second 1️⃣third 2️⃣struct3️⃣: Int4️⃣) {} " ,
841853 substructure: Syntax (
842854 FunctionParameterSyntax (
843855 firstName: . identifier( " first " ) ,
@@ -847,9 +859,13 @@ final class DeclarationTests: XCTestCase {
847859 )
848860 ) ,
849861 diagnostics: [
850- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ':' in parameter " , fixIts: [ " insert ':' " ] ) ,
851- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected ')' to end parameter clause " , fixIts: [ " insert ')' " ] ) ,
852- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected identifier in struct " , fixIts: [ " insert identifier " ] ) ,
862+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ':' in parameter " ,
863+ fixIts: [ " insert ':' " ] ) ,
864+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected ')' to end parameter clause " ,
865+ notes: [ NoteSpec ( message: " to match this opening '(' " ) ] ,
866+ fixIts: [ " insert ')' " ] ) ,
867+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected identifier in struct " ,
868+ fixIts: [ " insert identifier " ] ) ,
853869 DiagnosticSpec ( locationMarker: " 4️⃣ " , message: " unexpected code ')' in struct " ) ,
854870 ]
855871 )
@@ -1140,13 +1156,18 @@ final class DeclarationTests: XCTestCase {
11401156 func testStandaloneAtSignInGenericParameter( ) {
11411157 assertParse (
11421158 """
1143- struct U <@1️⃣
1159+ struct Uℹ️ <@1️⃣
11441160 """ ,
11451161 diagnostics: [
1146- DiagnosticSpec ( message: " expected name in attribute " , fixIts: [ " insert name " ] ) ,
1147- DiagnosticSpec ( message: " expected name in generic parameter " , fixIts: [ " insert name " ] ) ,
1148- DiagnosticSpec ( message: " expected '>' to end generic parameter clause " , fixIts: [ " insert '>' " ] ) ,
1149- DiagnosticSpec ( message: " expected member block in struct " , fixIts: [ " insert member block " ] ) ,
1162+ DiagnosticSpec ( message: " expected name in attribute " ,
1163+ fixIts: [ " insert name " ] ) ,
1164+ DiagnosticSpec ( message: " expected name in generic parameter " ,
1165+ fixIts: [ " insert name " ] ) ,
1166+ DiagnosticSpec ( message: " expected '>' to end generic parameter clause " ,
1167+ notes: [ NoteSpec ( message: " to match this opening '<' " ) ] ,
1168+ fixIts: [ " insert '>' " ] ) ,
1169+ DiagnosticSpec ( message: " expected member block in struct " ,
1170+ fixIts: [ " insert member block " ] ) ,
11501171 ]
11511172 )
11521173 }
@@ -1374,20 +1395,27 @@ final class DeclarationTests: XCTestCase {
13741395 macro m1 1️⃣= A
13751396 """ ,
13761397 diagnostics: [
1377- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected parameter clause in function signature " , fixIts: [ " insert parameter clause " ] )
1398+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected parameter clause in function signature " ,
1399+ fixIts: [ " insert parameter clause " ] )
13781400 ]
13791401 )
13801402 }
13811403
13821404 func testPrimaryAssociatedTypeNotTerminatedWithAngleBracket( ) {
13831405 assertParse (
1384- " protocol1️⃣ <2️⃣:3️⃣" ,
1406+ " protocol1️⃣ℹ️ <2️⃣:3️⃣" ,
13851407 diagnostics: [
1386- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in protocol " , fixIts: [ " insert identifier " ] ) ,
1387- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected name in primary associated type clause " , fixIts: [ " insert name " ] ) ,
1388- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '>' to end primary associated type clause " , fixIts: [ " insert '>' " ] ) ,
1389- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected type in inherited type " , fixIts: [ " insert type " ] ) ,
1390- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected member block in protocol " , fixIts: [ " insert member block " ] ) ,
1408+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in protocol " ,
1409+ fixIts: [ " insert identifier " ] ) ,
1410+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected name in primary associated type clause " ,
1411+ fixIts: [ " insert name " ] ) ,
1412+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '>' to end primary associated type clause " ,
1413+ notes: [ NoteSpec ( message: " to match this opening '<' " ) ] ,
1414+ fixIts: [ " insert '>' " ] ) ,
1415+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected type in inherited type " ,
1416+ fixIts: [ " insert type " ] ) ,
1417+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected member block in protocol " ,
1418+ fixIts: [ " insert member block " ] ) ,
13911419 ]
13921420 )
13931421 }
0 commit comments