Skip to content

Commit 70b4fa4

Browse files
committed
Remove stringExpr as attribute kind
1 parent ce62ec3 commit 70b4fa4

File tree

7 files changed

+16
-22
lines changed

7 files changed

+16
-22
lines changed

CodeGeneration/Sources/SyntaxSupport/gyb_generated/AttributeNodes.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@ public let ATTRIBUTE_NODES: [Node] = [
8787
nodeChoices: [
8888
Child(name: "Token",
8989
kind: "Token"),
90-
Child(name: "StringExpr",
91-
kind: "StringLiteralExpr"),
9290
Child(name: "Availability",
9391
kind: "AvailabilitySpecList"),
9492
Child(name: "SpecializeArguments",

Sources/SwiftParser/Attributes.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,11 @@ extension Parser {
199199
}
200200
case ._semantics:
201201
return parseAttribute(hasRequiredArguments: true) { parser in
202-
return .stringExpr(parser.parseStringLiteral())
202+
if let value = parser.consume(if: .stringLiteral) {
203+
return .token(value)
204+
} else {
205+
return .token(parser.missingToken(.stringLiteral))
206+
}
203207
}
204208
case ._backDeploy:
205209
return parseAttribute(hasRequiredArguments: true) { parser in

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxNodes.swift

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10532,7 +10532,6 @@ public struct RawAttributeSyntax: RawSyntaxNodeProtocol {
1053210532
@frozen // FIXME: Not actually stable, works around a miscompile
1053310533
public enum Argument: RawSyntaxNodeProtocol {
1053410534
case `token`(RawTokenSyntax)
10535-
case `stringExpr`(RawStringLiteralExprSyntax)
1053610535
case `availability`(RawAvailabilitySpecListSyntax)
1053710536
case `specializeArguments`(RawSpecializeAttributeSpecListSyntax)
1053810537
case `objCName`(RawObjCSelectorSyntax)
@@ -10548,13 +10547,12 @@ public struct RawAttributeSyntax: RawSyntaxNodeProtocol {
1054810547
case `originallyDefinedInArguments`(RawOriginallyDefinedInArgumentsSyntax)
1054910548

1055010549
public static func isKindOf(_ raw: RawSyntax) -> Bool {
10551-
return RawTokenSyntax.isKindOf(raw) || RawStringLiteralExprSyntax.isKindOf(raw) || RawAvailabilitySpecListSyntax.isKindOf(raw) || RawSpecializeAttributeSpecListSyntax.isKindOf(raw) || RawObjCSelectorSyntax.isKindOf(raw) || RawImplementsAttributeArgumentsSyntax.isKindOf(raw) || RawDifferentiableAttributeArgumentsSyntax.isKindOf(raw) || RawDerivativeRegistrationAttributeArgumentsSyntax.isKindOf(raw) || RawNamedAttributeStringArgumentSyntax.isKindOf(raw) || RawBackDeployAttributeSpecListSyntax.isKindOf(raw) || RawConventionAttributeArgumentsSyntax.isKindOf(raw) || RawConventionWitnessMethodAttributeArgumentsSyntax.isKindOf(raw) || RawOpaqueReturnTypeOfAttributeArgumentsSyntax.isKindOf(raw) || RawExposeAttributeArgumentsSyntax.isKindOf(raw) || RawOriginallyDefinedInArgumentsSyntax.isKindOf(raw)
10550+
return RawTokenSyntax.isKindOf(raw) || RawAvailabilitySpecListSyntax.isKindOf(raw) || RawSpecializeAttributeSpecListSyntax.isKindOf(raw) || RawObjCSelectorSyntax.isKindOf(raw) || RawImplementsAttributeArgumentsSyntax.isKindOf(raw) || RawDifferentiableAttributeArgumentsSyntax.isKindOf(raw) || RawDerivativeRegistrationAttributeArgumentsSyntax.isKindOf(raw) || RawNamedAttributeStringArgumentSyntax.isKindOf(raw) || RawBackDeployAttributeSpecListSyntax.isKindOf(raw) || RawConventionAttributeArgumentsSyntax.isKindOf(raw) || RawConventionWitnessMethodAttributeArgumentsSyntax.isKindOf(raw) || RawOpaqueReturnTypeOfAttributeArgumentsSyntax.isKindOf(raw) || RawExposeAttributeArgumentsSyntax.isKindOf(raw) || RawOriginallyDefinedInArgumentsSyntax.isKindOf(raw)
1055210551
}
1055310552

1055410553
public var raw: RawSyntax {
1055510554
switch self {
1055610555
case .token(let node): return node.raw
10557-
case .stringExpr(let node): return node.raw
1055810556
case .availability(let node): return node.raw
1055910557
case .specializeArguments(let node): return node.raw
1056010558
case .objCName(let node): return node.raw
@@ -10576,10 +10574,6 @@ public struct RawAttributeSyntax: RawSyntaxNodeProtocol {
1057610574
self = .token(node)
1057710575
return
1057810576
}
10579-
if let node = RawStringLiteralExprSyntax(other) {
10580-
self = .stringExpr(node)
10581-
return
10582-
}
1058310577
if let node = RawAvailabilitySpecListSyntax(other) {
1058410578
self = .availability(node)
1058510579
return

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxValidation.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1585,7 +1585,6 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
15851585
verify(layout[7], as: RawSyntax?.self),
15861586
verify(layout[7], as: RawSyntax?.self),
15871587
verify(layout[7], as: RawSyntax?.self),
1588-
verify(layout[7], as: RawSyntax?.self),
15891588
])
15901589
assertNoError(kind, 8, verify(layout[8], as: RawUnexpectedNodesSyntax?.self))
15911590
assertNoError(kind, 9, verify(layout[9], as: RawTokenSyntax?.self))

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxNodes.swift

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12391,7 +12391,6 @@ extension CustomAttributeSyntax: CustomReflectable {
1239112391
public struct AttributeSyntax: SyntaxProtocol, SyntaxHashable {
1239212392
public enum Argument: SyntaxChildChoices {
1239312393
case `token`(TokenSyntax)
12394-
case `stringExpr`(StringLiteralExprSyntax)
1239512394
case `availability`(AvailabilitySpecListSyntax)
1239612395
case `specializeArguments`(SpecializeAttributeSpecListSyntax)
1239712396
case `objCName`(ObjCSelectorSyntax)
@@ -12408,7 +12407,6 @@ public struct AttributeSyntax: SyntaxProtocol, SyntaxHashable {
1240812407
public var _syntaxNode: Syntax {
1240912408
switch self {
1241012409
case .token(let node): return node._syntaxNode
12411-
case .stringExpr(let node): return node._syntaxNode
1241212410
case .availability(let node): return node._syntaxNode
1241312411
case .specializeArguments(let node): return node._syntaxNode
1241412412
case .objCName(let node): return node._syntaxNode
@@ -12428,9 +12426,6 @@ public struct AttributeSyntax: SyntaxProtocol, SyntaxHashable {
1242812426
public init(_ node: TokenSyntax) {
1242912427
self = .token(node)
1243012428
}
12431-
public init(_ node: StringLiteralExprSyntax) {
12432-
self = .stringExpr(node)
12433-
}
1243412429
public init(_ node: AvailabilitySpecListSyntax) {
1243512430
self = .availability(node)
1243612431
}
@@ -12475,10 +12470,6 @@ public struct AttributeSyntax: SyntaxProtocol, SyntaxHashable {
1247512470
self = .token(node)
1247612471
return
1247712472
}
12478-
if let node = node.as(StringLiteralExprSyntax.self) {
12479-
self = .stringExpr(node)
12480-
return
12481-
}
1248212473
if let node = node.as(AvailabilitySpecListSyntax.self) {
1248312474
self = .availability(node)
1248412475
return
@@ -12537,7 +12528,6 @@ public struct AttributeSyntax: SyntaxProtocol, SyntaxHashable {
1253712528
public static var structure: SyntaxNodeStructure {
1253812529
return .choices([
1253912530
.node(TokenSyntax.self),
12540-
.node(StringLiteralExprSyntax.self),
1254112531
.node(AvailabilitySpecListSyntax.self),
1254212532
.node(SpecializeAttributeSpecListSyntax.self),
1254312533
.node(ObjCSelectorSyntax.self),

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,6 +1334,16 @@ final class DeclarationTests: XCTestCase {
13341334
]
13351335
)
13361336
}
1337+
1338+
func testFoo() {
1339+
AssertParse(
1340+
"""
1341+
struct Properties {
1342+
class private(set) var privateSetterCustomNames: Bool
1343+
}
1344+
"""
1345+
)
1346+
}
13371347
}
13381348

13391349
extension Parser.DeclAttributes {

gyb_syntax_support/AttributeNodes.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
Child('Argument', kind='Syntax', is_optional=True,
5757
node_choices=[
5858
Child('Token', kind='Token'),
59-
Child('StringExpr', kind='StringLiteralExpr'),
6059
Child('Availability', kind='AvailabilitySpecList'),
6160
Child('SpecializeArguments',
6261
kind='SpecializeAttributeSpecList'),

0 commit comments

Comments
 (0)