LibJS: Allow division after this token

This fixes the root cause of #21747, so it makes the clock work on
https://toaruos.org
This commit is contained in:
Simon Wanner 2023-11-04 20:40:12 +01:00 committed by Andreas Kling
parent 969d9e1fd3
commit a3f34263fd
Notes: sideshowbarker 2024-07-17 03:05:16 +09:00
2 changed files with 5 additions and 1 deletions

View file

@ -1643,7 +1643,7 @@ Parser::PrimaryExpressionParseResult Parser::parse_primary_expression()
return { move(expression) };
}
case TokenType::This:
consume();
consume_and_allow_division();
return { create_ast_node<ThisExpression>({ m_source_code, rule_start.position(), position() }) };
case TokenType::Class:
return { parse_class_expression(false) };

View file

@ -45,4 +45,8 @@ test("slash token resolution in lexer", () => {
expect("yield / b/").not.toEval();
expect("function* foo() { yield / b }").not.toEval();
expect("function* foo() { yield / b/ }").toEval();
expect("this / 1").toEval();
expect("this / 1 /").not.toEval();
expect("this / 1 / 1").toEval();
});