Skip to content

Commit dfcf2e4

Browse files
committed
[libSyntax] Don't store SynKind and TokKind as uint16_6
There is no point storing `SynKind` and `TokKind` as `uint16_t`s inside `ParsedRawSyntaxNode`. Instead, we can just use the `enum class` types that define them.
1 parent 74b5eb7 commit dfcf2e4

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

include/swift/Parse/ParsedRawSyntaxNode.h

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ class ParsedRawSyntaxNode {
6464
/// when it is being passed around.
6565
CharSourceRange Range;
6666
#endif
67-
uint16_t SynKind;
68-
uint16_t TokKind;
67+
syntax::SyntaxKind SynKind;
68+
tok TokKind;
6969
/// Primary used for capturing a deferred missing token.
7070
bool IsMissing = false;
7171

@@ -76,15 +76,14 @@ class ParsedRawSyntaxNode {
7676
// MARK: - Constructors
7777

7878
ParsedRawSyntaxNode()
79-
: Data(nullptr, DataKind::Null),
80-
SynKind(uint16_t(syntax::SyntaxKind::Unknown)),
81-
TokKind(uint16_t(tok::unknown)) {}
79+
: Data(nullptr, DataKind::Null), SynKind(syntax::SyntaxKind::Unknown),
80+
TokKind(tok::unknown) {}
8281

8382
#ifdef PARSEDRAWSYNTAXNODE_VERIFY_RANGES
8483
ParsedRawSyntaxNode(RecordedOrDeferredNode Data, syntax::SyntaxKind SynKind,
8584
tok TokKind, bool IsMissing, CharSourceRange Range)
86-
: Data(Data), Range(Range), SynKind(uint16_t(SynKind)),
87-
TokKind(uint16_t(TokKind)), IsMissing(IsMissing) {
85+
: Data(Data), Range(Range), SynKind(SynKind), TokKind(TokKind),
86+
IsMissing(IsMissing) {
8887
assert(getKind() == SynKind && "Syntax kind with too large value!");
8988
assert(getTokenKind() == TokKind && "Token kind with too large value!");
9089
}
@@ -97,8 +96,7 @@ class ParsedRawSyntaxNode {
9796
#else
9897
ParsedRawSyntaxNode(RecordedOrDeferredNode Data, syntax::SyntaxKind SynKind,
9998
tok TokKind, bool IsMissing)
100-
: Data(Data), SynKind(uint16_t(SynKind)), TokKind(uint16_t(TokKind)),
101-
IsMissing(IsMissing) {
99+
: Data(Data), SynKind(SynKind), TokKind(TokKind), IsMissing(IsMissing) {
102100
assert(getKind() == SynKind && "Syntax kind with too large value!");
103101
assert(getTokenKind() == TokKind && "Token kind with too large value!");
104102
}
@@ -175,8 +173,8 @@ class ParsedRawSyntaxNode {
175173

176174
// MARK: - Retrieving additional node info
177175

178-
syntax::SyntaxKind getKind() const { return syntax::SyntaxKind(SynKind); }
179-
tok getTokenKind() const { return tok(TokKind); }
176+
syntax::SyntaxKind getKind() const { return SynKind; }
177+
tok getTokenKind() const { return TokKind; }
180178

181179
bool isToken() const {
182180
return getKind() == syntax::SyntaxKind::Token;
@@ -210,8 +208,8 @@ class ParsedRawSyntaxNode {
210208

211209
void reset() {
212210
Data = RecordedOrDeferredNode(nullptr, DataKind::Null);
213-
SynKind = uint16_t(syntax::SyntaxKind::Unknown);
214-
TokKind = uint16_t(tok::unknown);
211+
SynKind = syntax::SyntaxKind::Unknown;
212+
TokKind = tok::unknown;
215213
IsMissing = false;
216214
#ifdef PARSEDRAWSYNTAXNODE_VERIFY_RANGES
217215
Range = CharSourceRange();

0 commit comments

Comments
 (0)