@@ -177,98 +177,6 @@ extension AsExprSyntax {
177177 }
178178}
179179
180- extension AttributedTypeSyntax {
181- @_spi ( Diagnostics)
182- public enum SpecifierOptions : TokenSpecSet {
183- case `inout`
184- case __shared
185- case __owned
186- case isolated
187- case _const
188- case borrowing
189- case consuming
190- @_spi ( ExperimentalLanguageFeatures)
191- case transferring
192- @_spi ( ExperimentalLanguageFeatures)
193- case _resultDependsOn
194-
195- init ? ( lexeme: Lexer . Lexeme , experimentalFeatures: Parser . ExperimentalFeatures ) {
196- switch PrepareForKeywordMatch ( lexeme) {
197- case TokenSpec ( . inout) :
198- self = . inout
199- case TokenSpec ( . __shared) :
200- self = . __shared
201- case TokenSpec ( . __owned) :
202- self = . __owned
203- case TokenSpec ( . isolated) :
204- self = . isolated
205- case TokenSpec ( . _const) :
206- self = . _const
207- case TokenSpec ( . borrowing) :
208- self = . borrowing
209- case TokenSpec ( . consuming) :
210- self = . consuming
211- case TokenSpec ( . transferring) where experimentalFeatures. contains ( . transferringArgsAndResults) :
212- self = . transferring
213- case TokenSpec ( . _resultDependsOn) where experimentalFeatures. contains ( . nonescapableTypes) :
214- self = . _resultDependsOn
215- default :
216- return nil
217- }
218- }
219-
220- var spec : TokenSpec {
221- switch self {
222- case . inout:
223- return . keyword( . inout)
224- case . __shared:
225- return . keyword( . __shared)
226- case . __owned:
227- return . keyword( . __owned)
228- case . isolated:
229- return . keyword( . isolated)
230- case . _const:
231- return . keyword( . _const)
232- case . borrowing:
233- return . keyword( . borrowing)
234- case . consuming:
235- return . keyword( . consuming)
236- case . transferring:
237- return . keyword( . transferring)
238- case . _resultDependsOn:
239- return . keyword( . _resultDependsOn)
240- }
241- }
242-
243- /// Returns a token that satisfies the `TokenSpec` of this case.
244- ///
245- /// If the token kind of this spec has variable text, e.g. for an identifier, this returns a token with empty text.
246- @_spi ( Diagnostics)
247- public var tokenSyntax : TokenSyntax {
248- switch self {
249- case . inout:
250- return . keyword( . inout)
251- case . __shared:
252- return . keyword( . __shared)
253- case . __owned:
254- return . keyword( . __owned)
255- case . isolated:
256- return . keyword( . isolated)
257- case . _const:
258- return . keyword( . _const)
259- case . borrowing:
260- return . keyword( . borrowing)
261- case . consuming:
262- return . keyword( . consuming)
263- case . transferring:
264- return . keyword( . transferring)
265- case . _resultDependsOn:
266- return . keyword( . _resultDependsOn)
267- }
268- }
269- }
270- }
271-
272180extension AvailabilityConditionSyntax {
273181 @_spi ( Diagnostics)
274182 public enum AvailabilityKeywordOptions : TokenSpecSet {
@@ -2960,6 +2868,98 @@ extension TupleTypeElementSyntax {
29602868 }
29612869}
29622870
2871+ extension TypeSpecifierSyntax {
2872+ @_spi ( Diagnostics)
2873+ public enum SpecifierOptions : TokenSpecSet {
2874+ case `inout`
2875+ case __shared
2876+ case __owned
2877+ case isolated
2878+ case _const
2879+ case borrowing
2880+ case consuming
2881+ @_spi ( ExperimentalLanguageFeatures)
2882+ case transferring
2883+ @_spi ( ExperimentalLanguageFeatures)
2884+ case _resultDependsOn
2885+
2886+ init ? ( lexeme: Lexer . Lexeme , experimentalFeatures: Parser . ExperimentalFeatures ) {
2887+ switch PrepareForKeywordMatch ( lexeme) {
2888+ case TokenSpec ( . inout) :
2889+ self = . inout
2890+ case TokenSpec ( . __shared) :
2891+ self = . __shared
2892+ case TokenSpec ( . __owned) :
2893+ self = . __owned
2894+ case TokenSpec ( . isolated) :
2895+ self = . isolated
2896+ case TokenSpec ( . _const) :
2897+ self = . _const
2898+ case TokenSpec ( . borrowing) :
2899+ self = . borrowing
2900+ case TokenSpec ( . consuming) :
2901+ self = . consuming
2902+ case TokenSpec ( . transferring) where experimentalFeatures. contains ( . transferringArgsAndResults) :
2903+ self = . transferring
2904+ case TokenSpec ( . _resultDependsOn) where experimentalFeatures. contains ( . nonescapableTypes) :
2905+ self = . _resultDependsOn
2906+ default :
2907+ return nil
2908+ }
2909+ }
2910+
2911+ var spec : TokenSpec {
2912+ switch self {
2913+ case . inout:
2914+ return . keyword( . inout)
2915+ case . __shared:
2916+ return . keyword( . __shared)
2917+ case . __owned:
2918+ return . keyword( . __owned)
2919+ case . isolated:
2920+ return . keyword( . isolated)
2921+ case . _const:
2922+ return . keyword( . _const)
2923+ case . borrowing:
2924+ return . keyword( . borrowing)
2925+ case . consuming:
2926+ return . keyword( . consuming)
2927+ case . transferring:
2928+ return . keyword( . transferring)
2929+ case . _resultDependsOn:
2930+ return . keyword( . _resultDependsOn)
2931+ }
2932+ }
2933+
2934+ /// Returns a token that satisfies the `TokenSpec` of this case.
2935+ ///
2936+ /// If the token kind of this spec has variable text, e.g. for an identifier, this returns a token with empty text.
2937+ @_spi ( Diagnostics)
2938+ public var tokenSyntax : TokenSyntax {
2939+ switch self {
2940+ case . inout:
2941+ return . keyword( . inout)
2942+ case . __shared:
2943+ return . keyword( . __shared)
2944+ case . __owned:
2945+ return . keyword( . __owned)
2946+ case . isolated:
2947+ return . keyword( . isolated)
2948+ case . _const:
2949+ return . keyword( . _const)
2950+ case . borrowing:
2951+ return . keyword( . borrowing)
2952+ case . consuming:
2953+ return . keyword( . consuming)
2954+ case . transferring:
2955+ return . keyword( . transferring)
2956+ case . _resultDependsOn:
2957+ return . keyword( . _resultDependsOn)
2958+ }
2959+ }
2960+ }
2961+ }
2962+
29632963extension UnresolvedAsExprSyntax {
29642964 @_spi ( Diagnostics)
29652965 public enum QuestionOrExclamationMarkOptions : TokenSpecSet {
0 commit comments