Diff
Not logged in

Differences From Artifact [480bb741b8b1612b]:

To Artifact [165f2920b68bc5f6]:


19 immutable bool quoted; /// Was it a "quoted" token or unquoted? 19 immutable bool quoted; /// Was it a "quoted" token or unquoted? 20 20 21 mixin SimpleClass; 21 mixin SimpleClass; 22 } 22 } 23 23 24 unittest 24 unittest 25 { 25 { 26 auto p = new immutable(LexPosition)("hello.cpp", 123, 45); | 26 auto p = new LexPosition("hello.cpp", 123, 45); 27 auto t = new Token(p, "class", false); 27 auto t = new Token(p, "class", false); 28 auto u = new Token(p, "class", true); 28 auto u = new Token(p, "class", true); 29 29 30 assert_eq( t.pos, p ); 30 assert_eq( t.pos, p ); 31 assert_eq( t.str, "class" ); 31 assert_eq( t.str, "class" ); 32 assert( !t.quoted ); 32 assert( !t.quoted ); 33 assert_eq( t, new Token(p, "class", false) ); 33 assert_eq( t, new Token(p, "class", false) ); ................................................................................................................................................................................ 369 /// Range primitive 369 /// Range primitive 370 typeof(this) save() /*@property*/ 370 typeof(this) save() /*@property*/ 371 { 371 { 372 return this; 372 return this; 373 } 373 } 374 374 375 /// Get the current position 375 /// Get the current position 376 immutable(LexPosition) currentPosition() const | 376 LexPosition currentPosition() const 377 { 377 { 378 return new immutable(LexPosition)(filename, lineno, column); | 378 return new LexPosition(filename, lineno, column); 379 } 379 } 380 } 380 } 381 381 382 unittest 382 unittest 383 { 383 { 384 assert( isForwardRange!(PositionedReader!string) ); 384 assert( isForwardRange!(PositionedReader!string) ); 385 assert( is(ElementType!(PositionedReader!string) == dchar) ); 385 assert( is(ElementType!(PositionedReader!string) == dchar) ); 386 } 386 }