@@ -975,14 +975,16 @@ final class RecoveryTests: ParserTestCase {
975
975
func testRecovery54( ) {
976
976
assertParse (
977
977
"""
978
- struct NoBracesStruct11️⃣()
978
+ struct NoBracesStruct11️⃣()2️⃣
979
979
""" ,
980
980
diagnostics: [
981
- DiagnosticSpec ( message: " expected member block in struct " , fixIts: [ " insert member block " ] )
981
+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected '{' in struct " , fixIts: [ " insert '{' " ] ) ,
982
+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " unexpected code '()' in struct " ) ,
983
+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '}' to end struct " , fixIts: [ " insert '}' " ] ) ,
982
984
] ,
983
985
fixedSource: """
984
- struct NoBracesStruct1 {
985
- }()
986
+ struct NoBracesStruct1 {()
987
+ }
986
988
"""
987
989
)
988
990
}
@@ -993,31 +995,31 @@ final class RecoveryTests: ParserTestCase {
993
995
enum NoBracesUnion11️⃣()
994
996
class NoBracesClass12️⃣()
995
997
protocol NoBracesProtocol13️⃣()
996
- extension NoBracesStruct14️⃣()
998
+ extension NoBracesStruct14️⃣()5️⃣
997
999
""" ,
998
1000
diagnostics: [
999
- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected member block in enum " , fixIts: [ " insert member block " ] ) ,
1000
- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected member block in class " , fixIts : [ " insert member block " ] ) ,
1001
- DiagnosticSpec (
1002
- locationMarker : " 3️⃣ " ,
1003
- message: " expected member block in protocol " ,
1004
- fixIts : [ " insert member block " ]
1005
- ) ,
1006
- DiagnosticSpec (
1007
- locationMarker : " 4️⃣ " ,
1008
- message: " expected member block in extension " ,
1009
- fixIts: [ " insert member block " ]
1010
- ) ,
1001
+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected '{' in enum " , fixIts: [ " insert '{' " ] ) ,
1002
+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " unexpected code '()' in enum " ) ,
1003
+ DiagnosticSpec ( locationMarker : " 2️⃣ " , message : " expected '{' in class " , fixIts : [ " insert '{' " ] ) ,
1004
+ DiagnosticSpec ( locationMarker : " 2️⃣ " , message : " unexpected code '()' in class " ) ,
1005
+ DiagnosticSpec ( locationMarker : " 3️⃣ " , message: " expected '{' in protocol " , fixIts : [ " insert '{' " ] ) ,
1006
+ DiagnosticSpec ( locationMarker : " 3️⃣ " , message : " unexpected code '()' in protocol " ) ,
1007
+ DiagnosticSpec ( locationMarker : " 4️⃣ " , message : " expected '{' in extension " , fixIts : [ " insert '{' " ] ) ,
1008
+ DiagnosticSpec ( locationMarker : " 4️⃣ " , message : " unexpected code '()' in extension " ) ,
1009
+ DiagnosticSpec ( locationMarker : " 5️⃣ " , message : " expected '}' to end extension " , fixIts : [ " insert '}' " ] ) ,
1010
+ DiagnosticSpec ( locationMarker : " 5️⃣ " , message: " expected '}' to end protocol " , fixIts : [ " insert '}' " ] ) ,
1011
+ DiagnosticSpec ( locationMarker : " 5️⃣ " , message : " expected '}' to end class " , fixIts: [ " insert '}' " ] ) ,
1012
+ DiagnosticSpec ( locationMarker : " 5️⃣ " , message : " expected '}' to end enum " , fixIts : [ " insert '}' " ] ) ,
1011
1013
] ,
1012
1014
fixedSource: """
1013
- enum NoBracesUnion1 {
1014
- } ()
1015
- class NoBracesClass1 {
1016
- } ()
1017
- protocol NoBracesProtocol1 {
1018
- }()
1019
- extension NoBracesStruct1 {
1020
- }()
1015
+ enum NoBracesUnion1 {()
1016
+ class NoBracesClass1 { ()
1017
+ protocol NoBracesProtocol1 {()
1018
+ extension NoBracesStruct1 { ()
1019
+ }
1020
+ }
1021
+ }
1022
+ }
1021
1023
"""
1022
1024
)
1023
1025
}
@@ -1032,35 +1034,31 @@ final class RecoveryTests: ParserTestCase {
1032
1034
extension NoBracesStruct25️⃣
1033
1035
""" ,
1034
1036
diagnostics: [
1035
- DiagnosticSpec (
1036
- locationMarker: " 1️⃣ " ,
1037
- message: " expected member block in struct " ,
1038
- fixIts: [ " insert member block " ]
1039
- ) ,
1040
- DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected member block in enum " , fixIts: [ " insert member block " ] ) ,
1041
- DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected member block in class " , fixIts: [ " insert member block " ] ) ,
1042
- DiagnosticSpec (
1043
- locationMarker: " 4️⃣ " ,
1044
- message: " expected member block in protocol " ,
1045
- fixIts: [ " insert member block " ]
1046
- ) ,
1037
+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected '{' in struct " , fixIts: [ " insert '{' " ] ) ,
1038
+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected '{' in enum " , fixIts: [ " insert '{' " ] ) ,
1039
+ DiagnosticSpec ( locationMarker: " 3️⃣ " , message: " expected '{' in class " , fixIts: [ " insert '{' " ] ) ,
1040
+ DiagnosticSpec ( locationMarker: " 4️⃣ " , message: " expected '{' in protocol " , fixIts: [ " insert '{' " ] ) ,
1047
1041
DiagnosticSpec (
1048
1042
locationMarker: " 5️⃣ " ,
1049
1043
message: " expected member block in extension " ,
1050
1044
fixIts: [ " insert member block " ]
1051
1045
) ,
1046
+ DiagnosticSpec ( locationMarker: " 5️⃣ " , message: " expected '}' to end protocol " , fixIts: [ " insert '}' " ] ) ,
1047
+ DiagnosticSpec ( locationMarker: " 5️⃣ " , message: " expected '}' to end class " , fixIts: [ " insert '}' " ] ) ,
1048
+ DiagnosticSpec ( locationMarker: " 5️⃣ " , message: " expected '}' to end enum " , fixIts: [ " insert '}' " ] ) ,
1049
+ DiagnosticSpec ( locationMarker: " 5️⃣ " , message: " expected '}' to end struct " , fixIts: [ " insert '}' " ] ) ,
1052
1050
] ,
1053
1051
fixedSource: """
1054
1052
struct NoBracesStruct2 {
1055
- }
1056
1053
enum NoBracesUnion2 {
1057
- }
1058
1054
class NoBracesClass2 {
1059
- }
1060
1055
protocol NoBracesProtocol2 {
1061
- }
1062
1056
extension NoBracesStruct2 {
1063
1057
}
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1064
1062
"""
1065
1063
)
1066
1064
}
@@ -3428,4 +3426,13 @@ final class RecoveryTests: ParserTestCase {
3428
3426
)
3429
3427
}
3430
3428
3429
+ func testTTT( ) {
3430
+ assertParse (
3431
+ """
3432
+ struct S {
3433
+ :
3434
+ }
3435
+ """
3436
+ )
3437
+ }
3431
3438
}
0 commit comments