Skip to content

Commit d8c7440

Browse files
committed
[AST] Demote inout to a SWIFT_KEYWORD
Defining it as a `DECL_KEYWORD` means code completion will try and complete it in decl position. It shouldn't really be considered a decl keyword, so define it as `SWIFT_KEYWORD`.
1 parent c6ff153 commit d8c7440

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

include/swift/AST/TokenKinds.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ DECL_KEYWORD(extension)
145145
DECL_KEYWORD(func)
146146
DECL_KEYWORD(import)
147147
DECL_KEYWORD(init)
148-
DECL_KEYWORD(inout)
149148
DECL_KEYWORD(let)
150149
DECL_KEYWORD(operator)
151150
DECL_KEYWORD(precedencegroup)
@@ -259,8 +258,9 @@ MISC(string_interpolation_anchor)
259258
MISC(kw_yield)
260259
MISC(kw_discard)
261260
MISC(kw_then)
261+
SWIFT_KEYWORD(inout)
262262

263-
// The following tokens are irrelevant for swiftSyntax and thus only declared
263+
// The following tokens are irrelevant for swiftSyntax and thus only declared
264264
// in this .def file
265265

266266
SIL_KEYWORD(undef)

test/IDE/complete_at_top_level_library.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ protocol MyProtocol {}
1919
// LIBRARY-DAG: Keyword[func]/None: func; name=func
2020
// LIBRARY-DAG: Keyword[import]/None: import; name=import
2121
// LIBRARY-DAG: Keyword[init]/None: init; name=init
22-
// LIBRARY-DAG: Keyword[inout]/None: inout; name=inout
2322
// LIBRARY-DAG: Keyword[operator]/None: operator; name=operator
2423
// LIBRARY-DAG: Keyword[precedencegroup]/None: precedencegroup; name=precedencegroup
2524
// LIBRARY-DAG: Keyword[protocol]/None/Flair[CommonKeyword]: protocol; name=protocol
@@ -86,7 +85,6 @@ protocol MyProtocol {}
8685
// SCRIPT-DAG: Keyword[func]/None: func; name=func
8786
// SCRIPT-DAG: Keyword[import]/None: import; name=import
8887
// SCRIPT-DAG: Keyword[init]/None: init; name=init
89-
// SCRIPT-DAG: Keyword[inout]/None: inout; name=inout
9088
// SCRIPT-DAG: Keyword[operator]/None: operator; name=operator
9189
// SCRIPT-DAG: Keyword[precedencegroup]/None: precedencegroup; name=precedencegroup
9290
// SCRIPT-DAG: Keyword[protocol]/None: protocol; name=protocol

test/IDE/complete_keywords.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
// KW_IN: Keyword[in]/None: in{{; name=.+$}}
77
// KW_NO_IN-NOT: Keyword[in]
88

9+
// KW_NO_INOUT-NOT: Keyword[inout]
10+
911
// KW_DECL-DAG: Keyword[class]/None: class{{; name=.+$}}
1012
// KW_DECL-DAG: Keyword/None: actor{{; name=.+$}}
1113
// KW_DECL-DAG: Keyword/None: convenience{{; name=.+$}}
@@ -293,7 +295,7 @@
293295
// KW_EXPR_NEG-NOT: Keyword{{.*}}catch
294296
// KW_EXPR_NEG-NOT: Keyword{{.*}}break
295297

296-
#^TOP_LEVEL_1?check=KW_DECL_STMT_TOPLEVEL;check=KW_NO_RETURN;check=KW_NO_IN^#
298+
#^TOP_LEVEL_1?check=KW_DECL_STMT_TOPLEVEL;check=KW_NO_RETURN;check=KW_NO_IN;check=KW_NO_INOUT^#
297299

298300
for _ in 1...10 {
299301
#^TOP_LEVEL_2?check=KW_DECL_STMT;check=KW_NO_RETURN;check=KW_NO_IN^#
@@ -367,19 +369,19 @@ struct InInit {
367369
}
368370

369371
struct InStruct {
370-
#^IN_NOMINAL_DECL_1?check=KW_DECL_TYPECONTEXT^#
372+
#^IN_NOMINAL_DECL_1?check=KW_DECL_TYPECONTEXT;check=KW_NO_INOUT^#
371373
}
372374

373375
enum InEnum {
374-
#^IN_NOMINAL_DECL_2?check=KW_DECL_TYPECONTEXT^#
376+
#^IN_NOMINAL_DECL_2?check=KW_DECL_TYPECONTEXT;check=KW_NO_INOUT^#
375377
}
376378

377379
class InClass {
378-
#^IN_NOMINAL_DECL_3?check=KW_DECL_TYPECONTEXT^#
380+
#^IN_NOMINAL_DECL_3?check=KW_DECL_TYPECONTEXT;check=KW_NO_INOUT^#
379381
}
380382

381383
protocol InProtocol {
382-
#^IN_NOMINAL_DECL_4?check=KW_DECL_PROTOCOL^#
384+
#^IN_NOMINAL_DECL_4?check=KW_DECL_PROTOCOL;check=KW_NO_INOUT^#
383385
}
384386

385387
struct AfterOtherKeywords1 {

0 commit comments

Comments
 (0)