@@ -285,24 +285,24 @@ TEST_F(LexerTest, BOMNoCommentNoTrivia) {
285
285
TriviaRetentionMode::WithoutTrivia);
286
286
287
287
Token Tok;
288
- ParsedTrivia LeadingTrivia, TrailingTrivia;
288
+ StringRef LeadingTrivia, TrailingTrivia;
289
289
290
290
L.lex (Tok, LeadingTrivia, TrailingTrivia);
291
291
ASSERT_EQ (tok::identifier, Tok.getKind ());
292
292
ASSERT_EQ (" aaa" , Tok.getText ());
293
293
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getLoc ());
294
294
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getCommentRange ().getStart ());
295
295
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
296
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
297
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
296
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
297
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
298
298
299
299
L.lex (Tok, LeadingTrivia, TrailingTrivia);
300
300
ASSERT_EQ (tok::eof, Tok.getKind ());
301
301
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getLoc ());
302
302
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getCommentRange ().getStart ());
303
303
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
304
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
305
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
304
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
305
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
306
306
}
307
307
308
308
TEST_F (LexerTest, BOMTokenCommentNoTrivia) {
@@ -317,51 +317,51 @@ TEST_F(LexerTest, BOMTokenCommentNoTrivia) {
317
317
TriviaRetentionMode::WithoutTrivia);
318
318
319
319
Token Tok;
320
- ParsedTrivia LeadingTrivia, TrailingTrivia;
320
+ StringRef LeadingTrivia, TrailingTrivia;
321
321
322
322
L.lex (Tok, LeadingTrivia, TrailingTrivia);
323
323
ASSERT_EQ (tok::comment, Tok.getKind ());
324
324
ASSERT_EQ (" // comment\n " , Tok.getText ());
325
325
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 3 ), Tok.getLoc ());
326
326
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 3 ), Tok.getCommentRange ().getStart ());
327
327
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
328
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
329
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
328
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
329
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
330
330
331
331
L.lex (Tok, LeadingTrivia, TrailingTrivia);
332
332
ASSERT_EQ (tok::identifier, Tok.getKind ());
333
333
ASSERT_EQ (" aaa" , Tok.getText ());
334
334
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getLoc ());
335
335
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getCommentRange ().getStart ());
336
336
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
337
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
338
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
337
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
338
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
339
339
340
340
L.lex (Tok, LeadingTrivia, TrailingTrivia);
341
341
ASSERT_EQ (tok::comment, Tok.getKind ());
342
342
ASSERT_EQ (" //xx \n " , Tok.getText ());
343
343
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 18 ), Tok.getLoc ());
344
344
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 18 ), Tok.getCommentRange ().getStart ());
345
345
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
346
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
347
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
346
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
347
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
348
348
349
349
L.lex (Tok, LeadingTrivia, TrailingTrivia);
350
350
ASSERT_EQ (tok::comment, Tok.getKind ());
351
351
ASSERT_EQ (" /* x */" , Tok.getText ());
352
352
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 24 ), Tok.getLoc ());
353
353
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 24 ), Tok.getCommentRange ().getStart ());
354
354
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
355
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
356
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
355
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
356
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
357
357
358
358
L.lex (Tok, LeadingTrivia, TrailingTrivia);
359
359
ASSERT_EQ (tok::eof, Tok.getKind ());
360
360
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getLoc ());
361
361
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getCommentRange ().getStart ());
362
362
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
363
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
364
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
363
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
364
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
365
365
}
366
366
367
367
TEST_F (LexerTest, BOMAttachCommentNoTrivia) {
@@ -376,24 +376,24 @@ TEST_F(LexerTest, BOMAttachCommentNoTrivia) {
376
376
TriviaRetentionMode::WithoutTrivia);
377
377
378
378
Token Tok;
379
- ParsedTrivia LeadingTrivia, TrailingTrivia;
379
+ StringRef LeadingTrivia, TrailingTrivia;
380
380
381
381
L.lex (Tok, LeadingTrivia, TrailingTrivia);
382
382
ASSERT_EQ (tok::identifier, Tok.getKind ());
383
383
ASSERT_EQ (" aaa" , Tok.getText ());
384
384
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getLoc ());
385
385
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 3 ), Tok.getCommentRange ().getStart ());
386
386
ASSERT_EQ (10u , Tok.getCommentRange ().getByteLength ());
387
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
388
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
387
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
388
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
389
389
390
390
L.lex (Tok, LeadingTrivia, TrailingTrivia);
391
391
ASSERT_EQ (tok::eof, Tok.getKind ());
392
392
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getLoc ());
393
393
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 18 ), Tok.getCommentRange ().getStart ());
394
394
ASSERT_EQ (13u , Tok.getCommentRange ().getByteLength ());
395
- ASSERT_EQ ((ParsedTrivia{{}} ), LeadingTrivia);
396
- ASSERT_EQ ((ParsedTrivia{{}} ), TrailingTrivia);
395
+ ASSERT_EQ (StringRef ( ), LeadingTrivia);
396
+ ASSERT_EQ (StringRef ( ), TrailingTrivia);
397
397
}
398
398
399
399
TEST_F (LexerTest, BOMNoCommentTrivia) {
@@ -408,34 +408,42 @@ TEST_F(LexerTest, BOMNoCommentTrivia) {
408
408
TriviaRetentionMode::WithTrivia);
409
409
410
410
Token Tok;
411
- ParsedTrivia LeadingTrivia, TrailingTrivia;
411
+ StringRef LeadingTrivia, TrailingTrivia;
412
412
413
413
L.lex (Tok, LeadingTrivia, TrailingTrivia);
414
414
ASSERT_EQ (tok::identifier, Tok.getKind ());
415
415
ASSERT_EQ (" aaa" , Tok.getText ());
416
416
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getLoc ());
417
417
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getCommentRange ().getStart ());
418
418
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
419
+ ASSERT_EQ (" \xEF\xBB\xBF " " // comment" " \n " , LeadingTrivia);
420
+ ASSERT_EQ (" " , TrailingTrivia);
421
+
422
+ ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia (LeadingTrivia);
423
+ ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia (TrailingTrivia);
419
424
ASSERT_EQ ((ParsedTrivia{{
420
425
ParsedTriviaPiece (TriviaKind::GarbageText, strlen (" \xEF\xBB\xBF " )),
421
426
ParsedTriviaPiece (TriviaKind::LineComment, strlen (" // comment" )),
422
427
ParsedTriviaPiece (TriviaKind::Newline, 1 )
423
- }}), LeadingTrivia );
428
+ }}), LeadingTriviaPieces );
424
429
ASSERT_EQ ((ParsedTrivia{{
425
430
ParsedTriviaPiece (TriviaKind::Space, 1 )
426
- }}), TrailingTrivia );
431
+ }}), TrailingTriviaPieces );
427
432
428
433
L.lex (Tok, LeadingTrivia, TrailingTrivia);
429
434
ASSERT_EQ (tok::eof, Tok.getKind ());
430
435
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getLoc ());
431
436
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getCommentRange ().getStart ());
432
437
ASSERT_EQ (0u , Tok.getCommentRange ().getByteLength ());
438
+ ASSERT_EQ (" //xx \n /* x */" , LeadingTrivia);
439
+ ASSERT_EQ (StringRef (), TrailingTrivia);
440
+
441
+ LeadingTriviaPieces = TriviaLexer::lexTrivia (LeadingTrivia);
433
442
ASSERT_EQ ((ParsedTrivia{{
434
443
ParsedTriviaPiece (TriviaKind::LineComment, strlen (" //xx " )),
435
444
ParsedTriviaPiece (TriviaKind::Newline, 1 ),
436
445
ParsedTriviaPiece (TriviaKind::BlockComment, strlen (" /* x */" ))
437
- }}), LeadingTrivia);
438
- ASSERT_EQ ((ParsedTrivia{{}}), TrailingTrivia);
446
+ }}), LeadingTriviaPieces);
439
447
}
440
448
441
449
TEST_F (LexerTest, BOMAttachCommentTrivia) {
@@ -450,34 +458,42 @@ TEST_F(LexerTest, BOMAttachCommentTrivia) {
450
458
TriviaRetentionMode::WithTrivia);
451
459
452
460
Token Tok;
453
- ParsedTrivia LeadingTrivia, TrailingTrivia;
461
+ StringRef LeadingTrivia, TrailingTrivia;
454
462
455
463
L.lex (Tok, LeadingTrivia, TrailingTrivia);
456
464
ASSERT_EQ (tok::identifier, Tok.getKind ());
457
465
ASSERT_EQ (" aaa" , Tok.getText ());
458
466
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 14 ), Tok.getLoc ());
459
467
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 3 ), Tok.getCommentRange ().getStart ());
460
468
ASSERT_EQ (10u , Tok.getCommentRange ().getByteLength ());
469
+ ASSERT_EQ (" \xEF\xBB\xBF " " // comment" " \n " , LeadingTrivia);
470
+ ASSERT_EQ (" " , TrailingTrivia);
471
+
472
+ ParsedTrivia LeadingTriviaPieces = TriviaLexer::lexTrivia (LeadingTrivia);
473
+ ParsedTrivia TrailingTriviaPieces = TriviaLexer::lexTrivia (TrailingTrivia);
461
474
ASSERT_EQ ((ParsedTrivia{{
462
475
ParsedTriviaPiece (TriviaKind::GarbageText, strlen (" \xEF\xBB\xBF " )),
463
476
ParsedTriviaPiece (TriviaKind::LineComment, strlen (" // comment" )),
464
477
ParsedTriviaPiece (TriviaKind::Newline, 1 )
465
- }}), LeadingTrivia );
478
+ }}), LeadingTriviaPieces );
466
479
ASSERT_EQ ((ParsedTrivia{{
467
480
ParsedTriviaPiece (TriviaKind::Space, 1 )
468
- }}), TrailingTrivia );
481
+ }}), TrailingTriviaPieces );
469
482
470
483
L.lex (Tok, LeadingTrivia, TrailingTrivia);
471
484
ASSERT_EQ (tok::eof, Tok.getKind ());
472
485
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 31 ), Tok.getLoc ());
473
486
ASSERT_EQ (SourceMgr.getLocForOffset (BufferID, 18 ), Tok.getCommentRange ().getStart ());
474
487
ASSERT_EQ (13u , Tok.getCommentRange ().getByteLength ());
488
+ ASSERT_EQ (" //xx \n /* x */" , LeadingTrivia);
489
+ ASSERT_EQ (StringRef (), TrailingTrivia);
490
+
491
+ LeadingTriviaPieces = TriviaLexer::lexTrivia (LeadingTrivia);
475
492
ASSERT_EQ ((ParsedTrivia{{
476
493
ParsedTriviaPiece (TriviaKind::LineComment, strlen (" //xx " )),
477
494
ParsedTriviaPiece (TriviaKind::Newline, 1 ),
478
495
ParsedTriviaPiece (TriviaKind::BlockComment, strlen (" /* x */" ))
479
- }}), LeadingTrivia);
480
- ASSERT_EQ ((ParsedTrivia{{}}), TrailingTrivia);
496
+ }}), LeadingTriviaPieces);
481
497
}
482
498
483
499
TEST_F (LexerTest, RestoreBasic) {
0 commit comments