Skip to content

Commit d84bd2f

Browse files
authored
Merge pull request #2951 from swiftlang/elsh/at-documentation-with-package-arg
Fix parsing `package` in @_documentation(visibility: package)
2 parents 1c0e46a + 10f5052 commit d84bd2f

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

Sources/SwiftParser/Attributes.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,7 @@ extension Parser {
11701170
case `private`
11711171
case `fileprivate`
11721172
case `internal`
1173+
case `package`
11731174
case `public`
11741175
case `open`
11751176

@@ -1178,6 +1179,7 @@ extension Parser {
11781179
case .private: return .keyword(.private)
11791180
case .fileprivate: return .keyword(.fileprivate)
11801181
case .internal: return .keyword(.internal)
1182+
case .package: return .keyword(.package)
11811183
case .public: return .keyword(.public)
11821184
case .open: return .keyword(.open)
11831185
}
@@ -1188,6 +1190,7 @@ extension Parser {
11881190
case TokenSpec(.private): self = .private
11891191
case TokenSpec(.fileprivate): self = .fileprivate
11901192
case TokenSpec(.internal): self = .internal
1193+
case TokenSpec(.package): self = .package
11911194
case TokenSpec(.public): self = .public
11921195
case TokenSpec(.open): self = .open
11931196
default: return nil

Tests/SwiftParserTest/AttributeTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,7 @@ final class AttributeTests: ParserTestCase {
671671

672672
func testDocumentationAttribute() {
673673
assertParse("@_documentation(visibility: internal) @_exported import A")
674+
assertParse("@_documentation(visibility: package) @objc final public class Klass {}")
674675
assertParse("@_documentation(metadata: cool_stuff) public class SomeClass {}")
675676
assertParse(#"@_documentation(metadata: "this is a longer string") public class OtherClass {}"#)
676677
assertParse(

0 commit comments

Comments
 (0)