add CompileEnv to lexer

This commit is contained in:
Walter Bright 2023-03-05 00:25:56 -08:00 committed by The Dlang Bot
parent 77b933e7e0
commit a986508ed0
20 changed files with 172 additions and 136 deletions

View file

@ -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) {}

View file

@ -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){}
}

View file

@ -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;