Skip to content

Commit d35017b

Browse files
authored
Merge pull request #36237 from ahoppen/pr/pass-token-to-tokenreceiver
[Parser] Pass token to TokenReceiver by reference
2 parents 782b21b + 961d32d commit d35017b

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

Diff for: include/swift/Parse/Parser.h

+2-4
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ namespace swift {
8787
class ConsumeTokenReceiver {
8888
public:
8989
/// This is called when a token is consumed.
90-
virtual void receive(Token Tok) {}
90+
virtual void receive(const Token &Tok) {}
9191

9292
/// This is called to update the kind of a token whose start location is Loc.
9393
virtual void registerTokenKindChange(SourceLoc Loc, tok NewKind) {};
@@ -488,9 +488,7 @@ class Parser {
488488
std::vector<Token> delayedTokens;
489489
DelayedTokenReceiver(ConsumeTokenReceiver *&receiver):
490490
savedConsumer(receiver, this) {}
491-
void receive(Token tok) override {
492-
delayedTokens.push_back(tok);
493-
}
491+
void receive(const Token &tok) override { delayedTokens.push_back(tok); }
494492
Optional<std::vector<Token>> finalize() override {
495493
llvm_unreachable("Cannot finalize a DelayedTokenReciever");
496494
}

Diff for: lib/Parse/Parser.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,8 @@ class TokenRecorder: public ConsumeTokenReceiver {
479479
TokenKindChangeMap[Loc.getOpaquePointerValue()] = NewKind;
480480
}
481481

482-
void receive(Token Tok) override {
482+
void receive(const Token &TokParam) override {
483+
Token Tok = TokParam;
483484
// We filter out all tokens without valid location
484485
if(Tok.getLoc().isInvalid())
485486
return;

0 commit comments

Comments
 (0)