[Syntax] Include leading/trailing trivia size to the cache ID

We have to differenciate cache IDs between:
  (Token l_brace
    (trivia space 1)
    (text="{"))
and:
  (Token l_brace
    (text="{")
    (trivia space 1))
This commit is contained in:
Rintaro Ishizaki
2019-10-09 16:59:12 -07:00
parent 7be975cf94
commit 5c8cacec17

View File

@@ -329,6 +329,8 @@ void RawSyntax::Profile(llvm::FoldingSetNodeID &ID, tok TokKind,
OwnedString Text, ArrayRef<TriviaPiece> LeadingTrivia,
ArrayRef<TriviaPiece> TrailingTrivia) {
ID.AddInteger(unsigned(TokKind));
ID.AddInteger(LeadingTrivia.size());
ID.AddInteger(TrailingTrivia.size());
switch (TokKind) {
#define TOKEN_DEFAULT(NAME) case tok::NAME:
#define PUNCTUATOR(NAME, X) TOKEN_DEFAULT(NAME)