@@ -99,9 +99,9 @@ extension Parser {
9999}
100100
101101extension Parser {
102- mutating func parseModifierDetail( _ keyword : Keyword ) -> RawDeclModifierDetailSyntax {
102+ mutating func parseModifierDetail( ) -> RawDeclModifierDetailSyntax {
103103 let ( unexpectedBeforeLeftParen, leftParen) = self . expect ( . leftParen)
104- let ( unexpectedBeforeDetailToken, detailToken) = self . expect ( . identifier, TokenSpec ( keyword , remapping: . identifier) , default: . identifier)
104+ let ( unexpectedBeforeDetailToken, detailToken) = self . expect ( . identifier, TokenSpec ( . set , remapping: . identifier) , default: . identifier)
105105 let ( unexpectedBeforeRightParen, rightParen) = self . expect ( . rightParen)
106106 return RawDeclModifierDetailSyntax (
107107 unexpectedBeforeLeftParen,
@@ -119,7 +119,7 @@ extension Parser {
119119
120120 let detail : RawDeclModifierDetailSyntax ?
121121 if self . at ( . leftParen) {
122- detail = self . parseModifierDetail ( . set )
122+ detail = self . parseModifierDetail ( )
123123 } else {
124124 detail = nil
125125 }
@@ -224,7 +224,18 @@ extension Parser {
224224
225225 let detail : RawDeclModifierDetailSyntax ?
226226 if self . at ( . leftParen) {
227- detail = self . parseModifierDetail ( . unsafe)
227+ let ( unexpectedBeforeLeftParen, leftParen) = self . expect ( . leftParen)
228+ let ( unexpectedBeforeDetailToken, detailToken) = self . expect ( TokenSpec ( . unsafe, remapping: . identifier) )
229+ let ( unexpectedBeforeRightParen, rightParen) = self . expect ( . rightParen)
230+ detail = RawDeclModifierDetailSyntax (
231+ unexpectedBeforeLeftParen,
232+ leftParen: leftParen,
233+ unexpectedBeforeDetailToken,
234+ detail: detailToken,
235+ unexpectedBeforeRightParen,
236+ rightParen: rightParen,
237+ arena: self . arena
238+ )
228239 } else {
229240 detail = nil
230241 }
0 commit comments