@@ -1197,6 +1197,7 @@ class Parser {
11971197 SourceLoc &SpecifierLoc,
11981198 SourceLoc &IsolatedLoc,
11991199 SourceLoc &ConstLoc,
1200+ SourceLoc &ResultDependsOnLoc,
12001201 TypeAttributes &Attributes) {
12011202 if (Tok.isAny (tok::at_sign, tok::kw_inout) ||
12021203 (canHaveParameterSpecifierContextualKeyword () &&
@@ -1205,16 +1206,19 @@ class Parser {
12051206 Tok.getRawText ().equals (" consuming" ) ||
12061207 Tok.getRawText ().equals (" borrowing" ) ||
12071208 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);
12111214 return makeParserSuccess ();
12121215 }
12131216
12141217 ParserStatus parseTypeAttributeListPresent (ParamDecl::Specifier &Specifier,
12151218 SourceLoc &SpecifierLoc,
12161219 SourceLoc &IsolatedLoc,
12171220 SourceLoc &ConstLoc,
1221+ SourceLoc &ResultDependsOnLoc,
12181222 TypeAttributes &Attributes);
12191223
12201224 bool parseConventionAttributeInternal (bool justChecking,
@@ -1510,6 +1514,9 @@ class Parser {
15101514 // / The location of the '_const' keyword, if present.
15111515 SourceLoc CompileConstLoc;
15121516
1517+ // / The location of the '_resultDependsOn' keyword, if present.
1518+ SourceLoc ResultDependsOnLoc;
1519+
15131520 // / The type following the ':'.
15141521 TypeRepr *Type = nullptr ;
15151522
0 commit comments