Skip to content

Commit 9a414c4

Browse files
committed
AST: Quote attributes more consistently in DiagnosticsParse.def
1 parent 2cd90bd commit 9a414c4

15 files changed

+61
-60
lines changed

include/swift/AST/DiagnosticsParse.def

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ ERROR(expected_precedencegroup_relation,none,
497497
ERROR(expected_sil_keyword,none,
498498
"expected SIL keyword", ())
499499
ERROR(inout_not_attribute, none,
500-
"@inout is no longer an attribute", ())
500+
"'inout' is no longer an attribute", ())
501501
ERROR(only_allowed_in_sil,none,
502502
"'%0' only allowed in SIL modules", (StringRef))
503503
ERROR(expected_sil_type,none,
@@ -520,7 +520,7 @@ ERROR(silfunc_and_silarg_have_incompatible_sil_value_ownership,none,
520520
"Function type specifies: '@%0'. SIL argument specifies: '@%1'.",
521521
(StringRef, StringRef))
522522
ERROR(sil_arg_both_lexical_and_eagerMove,none,
523-
"Function argument is annotated both @_eagerMove and @_noEagerMove, "
523+
"Function argument is annotated both '@_eagerMove' and '@_noEagerMove', "
524524
"but these are incompatible alternatives", ())
525525
ERROR(expected_sil_colon,none,
526526
"expected ':' before %0", (StringRef))
@@ -1632,14 +1632,14 @@ ERROR(attr_availability_duplicate,none,
16321632

16331633
// originallyDefinedIn
16341634
ERROR(originally_defined_in_missing_rparen,none,
1635-
"expected ')' in @_originallyDefinedIn argument list", ())
1635+
"expected ')' in '@_originallyDefinedIn' argument list", ())
16361636

16371637
ERROR(originally_defined_in_need_original_module_name,none,
16381638
"expected 'module: \"original\"' in the first argument to "
1639-
"@_originallyDefinedIn", ())
1639+
"'@_originallyDefinedIn'", ())
16401640

16411641
ERROR(originally_defined_in_need_nonempty_module_name,none,
1642-
"original module name cannot be empty in @_originallyDefinedIn", ())
1642+
"original module name cannot be empty in '@_originallyDefinedIn'", ())
16431643

16441644
// backDeploy
16451645
ERROR(attr_back_deploy_expected_before_label,none,
@@ -1670,25 +1670,25 @@ ERROR(convention_attribute_witness_method_expected_protocol,none,
16701670

16711671
// objc
16721672
ERROR(attr_objc_missing_colon,none,
1673-
"missing ':' after selector piece in @objc attribute", ())
1673+
"missing ':' after selector piece in '@objc'", ())
16741674
ERROR(attr_objc_expected_rparen,none,
1675-
"expected ')' after name for @objc", ())
1675+
"expected ')' after name for '@objc'", ())
16761676
ERROR(attr_objc_empty_name,none,
1677-
"expected name within parentheses of @objc attribute", ())
1677+
"expected name within parentheses of '@objc'", ())
16781678

16791679
ERROR(attr_dynamic_replacement_expected_rparen,none,
1680-
"expected ')' after function name for @_dynamicReplacement", ())
1680+
"expected ')' after function name for '@_dynamicReplacement'", ())
16811681
ERROR(attr_dynamic_replacement_expected_function,none,
1682-
"expected a function name in @_dynamicReplacement(for:)", ())
1682+
"expected a function name in '@_dynamicReplacement(for:)'", ())
16831683
ERROR(attr_dynamic_replacement_expected_for,none,
16841684
"expected 'for' in '_dynamicReplacement' attribute", ())
16851685
ERROR(attr_dynamic_replacement_expected_colon,none,
1686-
"expected ':' after @_dynamicReplacement(for", ())
1686+
"expected ':' after '@_dynamicReplacement(for'", ())
16871687

16881688
ERROR(attr_type_eraser_expected_type_name,none,
1689-
"expected a type name in @_typeEraser()", ())
1689+
"expected a type name in '@_typeEraser()'", ())
16901690
ERROR(attr_type_eraser_expected_rparen,none,
1691-
"expected ')' after type name for @_typeEraser", ())
1691+
"expected ')' after type name for '@_typeEraser'", ())
16921692

16931693
ERROR(expected_thrown_error_type,none,
16941694
"expected thrown error type after 'throws('", ())
@@ -1706,13 +1706,13 @@ ERROR(attr_isolated_expected_kind,none,
17061706
"expected 'any' as the isolation kind", ())
17071707

17081708
ERROR(attr_private_import_expected_rparen,none,
1709-
"expected ')' after function name for @_private", ())
1709+
"expected ')' after function name for '@_private'", ())
17101710
ERROR(attr_private_import_expected_sourcefile, none,
17111711
"expected 'sourceFile' in '_private' attribute", ())
17121712
ERROR(attr_private_import_expected_sourcefile_name,none,
1713-
"expected a source file name in @_private(sourceFile:)", ())
1713+
"expected a source file name in '@_private(sourceFile:)'", ())
17141714
ERROR(attr_private_import_expected_colon,none,
1715-
"expected ':' after @_private(sourceFile", ())
1715+
"expected ':' after '@_private(sourceFile'", ())
17161716

17171717
// opened
17181718
ERROR(opened_attribute_expected_lparen,none,
@@ -1833,45 +1833,45 @@ ERROR(sil_inst_autodiff_expected_differentiability_witness_kind,PointsToFirstBad
18331833
"'[vjp]', or '[transpose]'", ())
18341834

18351835
WARNING(warn_attr_unsafe_removed,none,
1836-
"'%0' attribute has been removed in favor of @preconcurrency",
1836+
"'%0' attribute has been removed in favor of '@preconcurrency'",
18371837
(StringRef))
18381838

18391839
// _documentation
18401840
ERROR(documentation_attr_expected_argument,none,
1841-
"@_documentation attribute expected 'visibility' or 'metadata' argument",
1841+
"'_documentation' attribute expected 'visibility' or 'metadata' argument",
18421842
())
18431843
ERROR(documentation_attr_unknown_argument,none,
18441844
"unknown argument '%0', expected 'visibility' or 'metadata'",
18451845
(StringRef))
18461846
ERROR(documentation_attr_expected_access_level,none,
1847-
"@_documentation attribute's 'visibility' argument expected an access level",
1847+
"'_documentation' attribute's 'visibility' argument expected an access level",
18481848
())
18491849
ERROR(documentation_attr_unknown_access_level,none,
18501850
"unknown visibility '%0', expected an access level keyword",
18511851
(StringRef))
18521852
ERROR(documentation_attr_duplicate_visibility,none,
18531853
"cannot give more than one visibility to the same item", ())
18541854
ERROR(documentation_attr_metadata_expected_text,none,
1855-
"@_documentation attribute's 'metadata' argument expected an identifier or "
1855+
"'_documentation' attribute's 'metadata' argument expected an identifier or "
18561856
"quoted string",
18571857
())
18581858
ERROR(documentation_attr_duplicate_metadata,none,
18591859
"cannot give more than one metadata argument to the same item", ())
18601860

18611861
ERROR(attr_rawlayout_expected_label,none,
1862-
"expected %0 argument to @_rawLayout attribute", (StringRef))
1862+
"expected %0 argument to '@_rawLayout'", (StringRef))
18631863
ERROR(attr_rawlayout_expected_integer_size,none,
1864-
"expected integer literal size in @_rawLayout attribute", ())
1864+
"expected integer literal size in '@_rawLayout'", ())
18651865
ERROR(attr_rawlayout_expected_integer_alignment,none,
1866-
"expected integer literal alignment in @_rawLayout attribute", ())
1866+
"expected integer literal alignment in '@_rawLayout'", ())
18671867
ERROR(attr_rawlayout_expected_params,none,
1868-
"expected %1 argument after %0 argument in @_rawLayout attribute", (StringRef, StringRef))
1868+
"expected %1 argument after %0 argument in '@_rawLayout'", (StringRef, StringRef))
18691869

18701870
ERROR(attr_extern_expected_label,none,
1871-
"expected %0 argument to @_extern attribute", (StringRef))
1871+
"expected %0 argument to '@_extern'", (StringRef))
18721872

18731873
ERROR(attr_expected_feature_name,none,
1874-
"expected feature name in @%0 attribute", (StringRef))
1874+
"expected feature name in '@%0'", (StringRef))
18751875

18761876
//------------------------------------------------------------------------------
18771877
// MARK: Generics parsing diagnostics
@@ -2064,13 +2064,13 @@ ERROR(macro_role_syntax_mismatch,PointsToFirstBadToken,
20642064
"%select{a freestanding|an attached}0 macro cannot have the %1 role",
20652065
(bool, Identifier))
20662066
ERROR(macro_attribute_unknown_label,PointsToFirstBadToken,
2067-
"@%select{freestanding|attached}0 has no argument with label %1",
2067+
"'@%select{freestanding|attached}0' has no argument with label %1",
20682068
(bool, Identifier))
20692069
ERROR(macro_attribute_duplicate_label,PointsToFirstBadToken,
2070-
"@%select{freestanding|attached}0 already has an argument with "
2070+
"'@%select{freestanding|attached}0' already has an argument with "
20712071
"label %1", (bool, StringRef))
20722072
ERROR(macro_attribute_missing_label,none,
2073-
"@%select{freestanding|attached}0 argument is missing label '%1'",
2073+
"'@%select{freestanding|attached}0' argument is missing label '%1'",
20742074
(bool, StringRef))
20752075
ERROR(macro_attribute_unknown_name_kind,PointsToFirstBadToken,
20762076
"unknown introduced name kind %0", (Identifier))
@@ -2081,7 +2081,8 @@ ERROR(macro_attribute_introduced_name_requires_argument,PointsToFirstBadToken,
20812081
ERROR(macro_attribute_introduced_name_requires_no_argument,PointsToFirstBadToken,
20822082
"introduced name kind %0 must not have an argument", (Identifier))
20832083
WARNING(macro_expression_attribute_removed,PointsToFirstBadToken,
2084-
"@expression has been removed in favor of @freestanding(expression)", ())
2084+
"'@expression' has been removed in favor of '@freestanding(expression)'",
2085+
())
20852086

20862087
ERROR(unexpected_attribute_expansion,PointsToFirstBadToken,
20872088
"unexpected token '%0' in expanded attribute list",
@@ -2117,16 +2118,16 @@ ERROR(init_accessor_is_not_in_the_primary_declaration,none,
21172118
())
21182119

21192120
ERROR(missing_storage_restrictions_attr_label,none,
2120-
"missing label in @storageRestrictions attribute", ())
2121+
"missing label in '@storageRestrictions'", ())
21212122

21222123
ERROR(invalid_storage_restrictions_attr_label,none,
2123-
"unexpected label %0 in @storageRestrictions attribute", (Identifier))
2124+
"unexpected label %0 in '@storageRestrictions'", (Identifier))
21242125

21252126
ERROR(duplicate_storage_restrictions_attr_label,none,
2126-
"duplicate label %0 in @storageRestrictions attribute", (Identifier))
2127+
"duplicate label %0 in '@storageRestrictions'", (Identifier))
21272128

21282129
ERROR(storage_restrictions_attr_expected_name,none,
2129-
"expected property name in @storageRestrictions list", ())
2130+
"expected property name in '@storageRestrictions' list", ())
21302131

21312132
ERROR(requires_experimental_feature, none,
21322133
"'%0' %select{attribute|parameter specifier}1 is only valid when experimental feature "

test/Concurrency/predates_concurrency.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,10 @@ struct S3: Q, Sendable {
148148
// Historical attribute names do nothing (but are permitted)
149149
// ---------------------------------------------------------------------------
150150
func aFailedExperiment(@_unsafeSendable _ body: @escaping () -> Void) { }
151-
// expected-warning@-1{{'_unsafeSendable' attribute has been removed in favor of @preconcurrency}}
151+
// expected-warning@-1{{'_unsafeSendable' attribute has been removed in favor of '@preconcurrency'}}
152152

153153
func anothingFailedExperiment(@_unsafeMainActor _ body: @escaping () -> Void) { }
154-
// expected-warning@-1{{'_unsafeMainActor' attribute has been removed in favor of @preconcurrency}}
154+
// expected-warning@-1{{'_unsafeMainActor' attribute has been removed in favor of '@preconcurrency'}}
155155

156156
// ---------------------------------------------------------------------------
157157
// Random bugs

test/Concurrency/predates_concurrency_swift6.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ struct S3: Q, Sendable {
108108
// Historical attribute names do nothing (but are permitted)
109109
// ---------------------------------------------------------------------------
110110
func aFailedExperiment(@_unsafeSendable _ body: @escaping () -> Void) { }
111-
// expected-warning@-1{{'_unsafeSendable' attribute has been removed in favor of @preconcurrency}}
111+
// expected-warning@-1{{'_unsafeSendable' attribute has been removed in favor of '@preconcurrency'}}
112112

113113
func anothingFailedExperiment(@_unsafeMainActor _ body: @escaping () -> Void) { }
114-
// expected-warning@-1{{'_unsafeMainActor' attribute has been removed in favor of @preconcurrency}}
114+
// expected-warning@-1{{'_unsafeMainActor' attribute has been removed in favor of '@preconcurrency'}}
115115

116116
// Override matching with @preconcurrency properties.
117117
do {

test/Constraints/issue-77393.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ macro someMacro() = #externalMacro(module: "", type: "")
1919

2020
macro invalidMacro()
2121
// expected-error@-1 {{macro 'invalidMacro()' requires a definition}}
22-
// expected-error@-2 {{macro 'invalidMacro()' must declare its applicable roles via '@freestanding' or @attached'}}
22+
// expected-error@-2 {{macro 'invalidMacro()' must declare its applicable roles via '@freestanding' or '@attached'}}
2323

2424
#invalidMacro() // expected-error {{no macro named 'invalidMacro'}}

test/Constraints/suspicious_bit_casts.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ func escapeByBitCast(f: () -> ()) -> () -> () {
66
}
77

88
func changeFnRep(f: @escaping () -> ()) -> @convention(block) () -> () {
9-
// expected-warning@+1{{'unsafeBitCast' from function type '() -> ()' to '@convention(block) () -> ()' changes @convention and is undefined; use an implicit conversion to change conventions}}
9+
// expected-warning@+1{{'unsafeBitCast' from function type '() -> ()' to '@convention(block) () -> ()' changes '@convention' and is undefined; use an implicit conversion to change conventions}}
1010
return unsafeBitCast(f, to: (@convention(block) () -> ()).self)
1111
}
1212

test/Macros/external-macro-without-decl.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// RUN: %target-typecheck-verify-swift -swift-version 5 -module-name Swift -parse-stdlib
44

5-
// expected-warning@+2{{@expression has been removed in favor of @freestanding(expression)}}
5+
// expected-warning@+2{{'@expression' has been removed in favor of '@freestanding(expression)'}}
66
// expected-warning@+1{{external macro implementation type 'A.B' could not be found for macro 'myMacro()'}}
77
@expression macro myMacro() = #externalMacro(module: "A", type: "B")
88

test/Macros/macros_diagnostics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
@expression macro stringify<T>(_ value: T) -> (T, String) = #externalMacro(module: "MacroDefinition", type: "StringifyMacro")
77
// expected-note@-1 3{{'stringify' declared here}}
88
// expected-warning@-2{{external macro implementation type}}
9-
// expected-warning@-3{{@expression has been removed in favor of @freestanding(expression)}}{{1-12=@freestanding(expression)}}
9+
// expected-warning@-3{{'@expression' has been removed in favor of '@freestanding(expression)'}}{{1-12=@freestanding(expression)}}
1010
@freestanding(expression) macro missingMacro1(_: Any) = MissingModule.MissingType // expected-note{{'missingMacro1' declared here}}
1111
// expected-warning@-1{{external macro definitions are now written using #externalMacro}}
1212
// expected-warning@-2{{external macro implementation type}}

test/Macros/parsing.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ macro am1()
4646

4747
@attached(
4848
accessor,
49-
overloaded, // expected-error{{@attached argument is missing label 'names'}}
49+
overloaded, // expected-error{{'@attached' argument is missing label 'names'}}
5050
unknown, // expected-error{{unknown introduced name kind 'unknown'}}
5151
named, // expected-error{{introduced name kind 'named' requires a single argument '(name)'}}
5252
arbitrary(a) // expected-error{{introduced name kind 'arbitrary' must not have an argument}}

test/Parse/diagnose_dynamicReplacement.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ func test_dynamic_replacement_for2() {
1616

1717
@_dynamicReplacement(for: dynamically_replaceable() // expected-note {{to match this opening '('}}
1818
func test_dynamic_replacement_for3() {
19-
// expected-error@-1 {{expected ')' after function name for @_dynamicReplacement}}
19+
// expected-error@-1 {{expected ')' after function name for '@_dynamicReplacement'}}
2020
}

test/Parse/original_defined_in_attr.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
@_originallyDefinedIn(module: "foo", OSX 13.13) // expected-error {{'@_originallyDefinedIn' requires that 'foo()' have explicit availability for macOS}}
55
public func foo() {}
66

7-
@_originallyDefinedIn(modulename: "foo", OSX 13.13) // expected-error {{expected 'module: "original"' in the first argument to @_originallyDefinedIn}}
7+
@_originallyDefinedIn(modulename: "foo", OSX 13.13) // expected-error {{expected 'module: "original"' in the first argument to '@_originallyDefinedIn'}}
88
public func foo1() {}
99

1010
@_originallyDefinedIn(module: "foo", OSX 13.13.3) // expected-warning {{'@_originallyDefinedIn' only uses major and minor version number}}
@@ -14,7 +14,7 @@ public class ToplevelClass {}
1414
@_originallyDefinedIn(module: "foo") // expected-error {{expected at least one platform version in '@_originallyDefinedIn' attribute}}
1515
public class ToplevelClass1 {}
1616

17-
@_originallyDefinedIn(OSX 13.13.3) // expected-error {{expected 'module: "original"' in the first argument to @_originallyDefinedIn}}
17+
@_originallyDefinedIn(OSX 13.13.3) // expected-error {{expected 'module: "original"' in the first argument to '@_originallyDefinedIn'}}
1818
public class ToplevelClass2 {}
1919

2020
@_originallyDefinedIn(module: "foo",

0 commit comments

Comments
 (0)