Skip to content

Commit

Permalink
fix class method with name get (bellard#258)
Browse files Browse the repository at this point in the history
Co-authored-by: Richard Davison <[email protected]>
  • Loading branch information
richarddd and richarddavison authored May 5, 2024
1 parent 7a2c6f4 commit d9c699f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
3 changes: 2 additions & 1 deletion quickjs.c
Original file line number Diff line number Diff line change
Expand Up @@ -22380,7 +22380,8 @@ static int __exception js_parse_property_name(JSParseState *s,
if (next_token(s))
goto fail1;
if (s->token.val == ':' || s->token.val == ',' ||
s->token.val == '}' || s->token.val == '(') {
s->token.val == '}' || s->token.val == '(' ||
s->token.val == '=' ) {
is_non_reserved_ident = TRUE;
goto ident_found;
}
Expand Down
10 changes: 8 additions & 2 deletions tests/test_language.js
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,11 @@ function test_class()
assert(S.x === 42);
assert(S.y === 42);
assert(S.z === 42);

class P {
get = () => "123"
}
assert(new P().get() === "123");
};

function test_template()
Expand Down Expand Up @@ -362,8 +367,9 @@ function test_template_skip()
function test_object_literal()
{
var x = 0, get = 1, set = 2; async = 3;
a = { get: 2, set: 3, async: 4 };
assert(JSON.stringify(a), '{"get":2,"set":3,"async":4}');
a = { get: 2, set: 3, async: 4, get a(){ return this.get} };
assert(JSON.stringify(a), '{"get":2,"set":3,"async":4,"a":2}');
assert(a.a === 2);

a = { x, get, set, async };
assert(JSON.stringify(a), '{"x":0,"get":1,"set":2,"async":3}');
Expand Down

0 comments on commit d9c699f

Please sign in to comment.