@@ -1197,6 +1197,7 @@ class Parser {
1197
1197
SourceLoc &SpecifierLoc,
1198
1198
SourceLoc &IsolatedLoc,
1199
1199
SourceLoc &ConstLoc,
1200
+ SourceLoc &ResultDependsOnLoc,
1200
1201
TypeAttributes &Attributes) {
1201
1202
if (Tok.isAny (tok::at_sign, tok::kw_inout) ||
1202
1203
(canHaveParameterSpecifierContextualKeyword () &&
@@ -1205,16 +1206,19 @@ class Parser {
1205
1206
Tok.getRawText ().equals (" consuming" ) ||
1206
1207
Tok.getRawText ().equals (" borrowing" ) ||
1207
1208
Tok.isContextualKeyword (" isolated" ) ||
1208
- Tok.isContextualKeyword (" _const" ))))
1209
- return parseTypeAttributeListPresent (
1210
- Specifier, SpecifierLoc, IsolatedLoc, ConstLoc, Attributes);
1209
+ Tok.isContextualKeyword (" _const" ) ||
1210
+ Tok.getRawText ().equals (" _resultDependsOn" ))))
1211
+ return parseTypeAttributeListPresent (Specifier, SpecifierLoc, IsolatedLoc,
1212
+ ConstLoc, ResultDependsOnLoc,
1213
+ Attributes);
1211
1214
return makeParserSuccess ();
1212
1215
}
1213
1216
1214
1217
ParserStatus parseTypeAttributeListPresent (ParamDecl::Specifier &Specifier,
1215
1218
SourceLoc &SpecifierLoc,
1216
1219
SourceLoc &IsolatedLoc,
1217
1220
SourceLoc &ConstLoc,
1221
+ SourceLoc &ResultDependsOnLoc,
1218
1222
TypeAttributes &Attributes);
1219
1223
1220
1224
bool parseConventionAttributeInternal (bool justChecking,
@@ -1510,6 +1514,9 @@ class Parser {
1510
1514
// / The location of the '_const' keyword, if present.
1511
1515
SourceLoc CompileConstLoc;
1512
1516
1517
+ // / The location of the '_resultDependsOn' keyword, if present.
1518
+ SourceLoc ResultDependsOnLoc;
1519
+
1513
1520
// / The type following the ':'.
1514
1521
TypeRepr *Type = nullptr ;
1515
1522
0 commit comments