@@ -127,7 +127,7 @@ public struct RawTypeSyntax: RawTypeSyntaxNodeProtocol {
127127
128128 public static func isKindOf(_ raw: RawSyntax) -> Bool {
129129 switch raw.kind {
130- case .missingType, .simpleTypeIdentifier, .memberTypeIdentifier, .classRestrictionType, .arrayType, .dictionaryType, .metatypeType, .optionalType, .constrainedSugarType, .implicitlyUnwrappedOptionalType, .compositionType, .packExpansionType, .tupleType, .functionType, .attributedType, .namedOpaqueReturnType: return true
130+ case .missingType, .simpleTypeIdentifier, .memberTypeIdentifier, .classRestrictionType, .arrayType, .dictionaryType, .metatypeType, .optionalType, .constrainedSugarType, .implicitlyUnwrappedOptionalType, .compositionType, .packExpansionType, .packReferenceType, . tupleType, .functionType, .attributedType, .namedOpaqueReturnType: return true
131131 default: return false
132132 }
133133 }
@@ -16736,6 +16736,66 @@ public struct RawPackExpansionTypeSyntax: RawTypeSyntaxNodeProtocol {
1673616736 }
1673716737}
1673816738
16739+ @_spi(RawSyntax)
16740+ public struct RawPackReferenceTypeSyntax: RawTypeSyntaxNodeProtocol {
16741+
16742+ @_spi(RawSyntax)
16743+ public var layoutView: RawSyntaxLayoutView {
16744+ return raw.layoutView!
16745+ }
16746+
16747+ public static func isKindOf(_ raw: RawSyntax) -> Bool {
16748+ return raw.kind == .packReferenceType
16749+ }
16750+
16751+ public var raw: RawSyntax
16752+ init(raw: RawSyntax) {
16753+ assert(Self.isKindOf(raw))
16754+ self.raw = raw
16755+ }
16756+
16757+ public init?<Node: RawSyntaxNodeProtocol>(_ other: Node) {
16758+ guard Self.isKindOf(other.raw) else { return nil }
16759+ self.init(raw: other.raw)
16760+ }
16761+
16762+ public init(
16763+ _ unexpectedBeforeEachKeyword: RawUnexpectedNodesSyntax? = nil,
16764+ eachKeyword: RawTokenSyntax,
16765+ _ unexpectedBetweenEachKeywordAndPackType: RawUnexpectedNodesSyntax? = nil,
16766+ packType: RawTypeSyntax,
16767+ _ unexpectedAfterPackType: RawUnexpectedNodesSyntax? = nil,
16768+ arena: __shared SyntaxArena
16769+ ) {
16770+ let raw = RawSyntax.makeLayout(
16771+ kind: .packReferenceType, uninitializedCount: 5, arena: arena) { layout in
16772+ layout.initialize(repeating: nil)
16773+ layout[0] = unexpectedBeforeEachKeyword?.raw
16774+ layout[1] = eachKeyword.raw
16775+ layout[2] = unexpectedBetweenEachKeywordAndPackType?.raw
16776+ layout[3] = packType.raw
16777+ layout[4] = unexpectedAfterPackType?.raw
16778+ }
16779+ self.init(raw: raw)
16780+ }
16781+
16782+ public var unexpectedBeforeEachKeyword: RawUnexpectedNodesSyntax? {
16783+ layoutView.children[0].map(RawUnexpectedNodesSyntax.init(raw:))
16784+ }
16785+ public var eachKeyword: RawTokenSyntax {
16786+ layoutView.children[1].map(RawTokenSyntax.init(raw:))!
16787+ }
16788+ public var unexpectedBetweenEachKeywordAndPackType: RawUnexpectedNodesSyntax? {
16789+ layoutView.children[2].map(RawUnexpectedNodesSyntax.init(raw:))
16790+ }
16791+ public var packType: RawTypeSyntax {
16792+ layoutView.children[3].map(RawTypeSyntax.init(raw:))!
16793+ }
16794+ public var unexpectedAfterPackType: RawUnexpectedNodesSyntax? {
16795+ layoutView.children[4].map(RawUnexpectedNodesSyntax.init(raw:))
16796+ }
16797+ }
16798+
1673916799@_spi(RawSyntax)
1674016800public struct RawTupleTypeElementSyntax: RawSyntaxNodeProtocol {
1674116801
0 commit comments