This commit is contained in:
Kampfkarren 2022-07-26 20:40:37 -07:00
parent beb7ecceb1
commit 36b0037145
3 changed files with 15 additions and 3 deletions

View file

@ -6,6 +6,8 @@
#include <limits.h> #include <limits.h>
LUAU_FASTFLAG(LuauInterpolatedStringBaseSupport)
namespace Luau namespace Luau
{ {
@ -808,7 +810,13 @@ Lexeme Lexer::readNext()
return readQuotedString(); return readQuotedString();
case '`': case '`':
return readInterpolatedStringBegin(); if (FFlag::LuauInterpolatedStringBaseSupport)
return readInterpolatedStringBegin();
else
{
consume();
return Lexeme(Location(start, 1), '`');
}
case '.': case '.':
consume(); consume();

View file

@ -26,6 +26,8 @@ LUAU_DYNAMIC_FASTFLAGVARIABLE(LuaReportParseIntegerIssues, false)
LUAU_FASTFLAGVARIABLE(LuauAlwaysCaptureHotComments, false) LUAU_FASTFLAGVARIABLE(LuauAlwaysCaptureHotComments, false)
LUAU_FASTFLAGVARIABLE(LuauInterpolatedStringBaseSupport, true)
bool lua_telemetry_parsed_out_of_range_bin_integer = false; bool lua_telemetry_parsed_out_of_range_bin_integer = false;
bool lua_telemetry_parsed_out_of_range_hex_integer = false; bool lua_telemetry_parsed_out_of_range_hex_integer = false;
bool lua_telemetry_parsed_double_prefix_hex_integer = false; bool lua_telemetry_parsed_double_prefix_hex_integer = false;
@ -2199,7 +2201,7 @@ AstExpr* Parser::parseSimpleExpr()
{ {
return parseString(); return parseString();
} }
else if (lexer.current().type == Lexeme::InterpStringBegin) else if (FFlag::LuauInterpolatedStringBaseSupport && lexer.current().type == Lexeme::InterpStringBegin)
{ {
return parseInterpString(); return parseInterpString();
} }

View file

@ -30,6 +30,8 @@ LUAU_FASTFLAGVARIABLE(LuauCompileFoldBuiltins, false)
LUAU_FASTFLAGVARIABLE(LuauCompileBetterMultret, false) LUAU_FASTFLAGVARIABLE(LuauCompileBetterMultret, false)
LUAU_FASTFLAGVARIABLE(LuauCompileFreeReassign, false) LUAU_FASTFLAGVARIABLE(LuauCompileFreeReassign, false)
LUAU_FASTFLAG(LuauInterpolatedStringBaseSupport)
namespace Luau namespace Luau
{ {
@ -2018,7 +2020,7 @@ struct Compiler
{ {
compileExprIfElse(expr, target, targetTemp); compileExprIfElse(expr, target, targetTemp);
} }
else if (AstExprInterpString* interpString = node->as<AstExprInterpString>()) else if (AstExprInterpString* interpString = node->as<AstExprInterpString>(); FFlag::LuauInterpolatedStringBaseSupport && interpString)
{ {
compileExprInterpString(interpString, target, targetTemp); compileExprInterpString(interpString, target, targetTemp);
} }