mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
add CompileEnv to lexer
This commit is contained in:
parent
77b933e7e0
commit
a986508ed0
20 changed files with 172 additions and 136 deletions
|
@ -64,7 +64,7 @@ private void lexUntilEndOfFile(string code)
|
|||
|
||||
if (!global.errorSink)
|
||||
global.errorSink = new ErrorSinkCompiler;
|
||||
scope lexer = new Lexer("test", code.ptr, 0, code.length, 0, 0, global.errorSink);
|
||||
scope lexer = new Lexer("test", code.ptr, 0, code.length, 0, 0, global.errorSink, null);
|
||||
lexer.nextToken;
|
||||
|
||||
while (lexer.nextToken != TOK.endOfFile) {}
|
||||
|
|
|
@ -170,7 +170,7 @@ unittest
|
|||
TOK.rightCurly,
|
||||
];
|
||||
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, false, new ErrorSinkStderr);
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, false, new ErrorSinkStderr, null);
|
||||
lexer.nextToken;
|
||||
|
||||
TOK[] result;
|
||||
|
@ -191,7 +191,7 @@ unittest
|
|||
TOK.comment,
|
||||
];
|
||||
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, true, new ErrorSinkStderr);
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, true, new ErrorSinkStderr, null);
|
||||
lexer.nextToken;
|
||||
|
||||
TOK[] result;
|
||||
|
@ -217,7 +217,7 @@ unittest
|
|||
TOK.reserved,
|
||||
];
|
||||
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, false, new ErrorSinkStderr);
|
||||
Lexer lexer = new Lexer(null, code.ptr, 0, code.length, false, false, new ErrorSinkStderr, null);
|
||||
|
||||
TOK[] result;
|
||||
|
||||
|
@ -266,7 +266,7 @@ unittest
|
|||
foreach (codeNum, code; codes)
|
||||
{
|
||||
auto fileName = text("file", codeNum, '\0');
|
||||
Lexer lexer = new Lexer(fileName.ptr, code.ptr, 0, code.length, false, false, new ErrorSinkCompiler);
|
||||
Lexer lexer = new Lexer(fileName.ptr, code.ptr, 0, code.length, false, false, new ErrorSinkCompiler, null);
|
||||
// Generate the errors
|
||||
foreach(unused; lexer){}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ unittest
|
|||
{
|
||||
enum code = "token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -29,7 +29,7 @@ unittest
|
|||
{
|
||||
enum code = "ignored_token token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 13, code.length - 14, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 13, code.length - 14, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -41,7 +41,7 @@ unittest
|
|||
{
|
||||
enum code = "token1 token2 3";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -55,7 +55,7 @@ unittest
|
|||
{
|
||||
enum code = "token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -68,7 +68,7 @@ unittest
|
|||
{
|
||||
enum code = "/* comment */";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -81,7 +81,7 @@ unittest
|
|||
{
|
||||
enum code = "// comment";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -94,7 +94,7 @@ unittest
|
|||
{
|
||||
enum code = "/+ comment +/";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, true, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -107,7 +107,7 @@ unittest
|
|||
{
|
||||
enum code = "/* comment */ token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -119,7 +119,7 @@ unittest
|
|||
{
|
||||
enum code = "// comment\ntoken";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -131,7 +131,7 @@ unittest
|
|||
{
|
||||
enum code = "/+ comment +/ token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -143,7 +143,7 @@ unittest
|
|||
{
|
||||
enum code = "line\ntoken";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -156,7 +156,7 @@ unittest
|
|||
{
|
||||
enum code = "line\r\ntoken";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -169,7 +169,7 @@ unittest
|
|||
{
|
||||
enum code = "line\rtoken";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -182,7 +182,7 @@ unittest
|
|||
{
|
||||
enum code = "'🍺'";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -194,7 +194,7 @@ unittest
|
|||
{
|
||||
enum code = `"🍺🍺"`;
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
|
||||
|
@ -206,7 +206,7 @@ unittest
|
|||
{
|
||||
enum code = "'🍺' token";
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -219,7 +219,7 @@ unittest
|
|||
{
|
||||
enum code = `"🍺🍺" token`;
|
||||
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", code.ptr, 0, code.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
@ -558,7 +558,7 @@ static foreach (tok; __traits(allMembers, TOK))
|
|||
{
|
||||
const newCode = "first_token " ~ tests[tok].code;
|
||||
|
||||
scope lexer = new Lexer("test.d", newCode.ptr, 0, newCode.length, 0, 0, new ErrorSinkStderr);
|
||||
scope lexer = new Lexer("test.d", newCode.ptr, 0, newCode.length, 0, 0, new ErrorSinkStderr, null);
|
||||
|
||||
lexer.nextToken;
|
||||
lexer.nextToken;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue