mirror of
https://github.com/bellard/quickjs.git
synced 2025-05-12 11:06:10 +08:00
fixed class field named get or set
This commit is contained in:
parent
d546fbfdb7
commit
949c105aff
2
TODO
2
TODO
@ -62,6 +62,6 @@ Optimization ideas:
|
||||
Test262o: 0/11262 errors, 463 excluded
|
||||
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
||||
|
||||
Result: 35/76964 errors, 3147 excluded, 6912 skipped
|
||||
Result: 31/76964 errors, 3147 excluded, 6912 skipped
|
||||
Test262 commit: 56e77d6325067a545ea7e8ff5be5d9284334e33c
|
||||
|
||||
|
11
quickjs.c
11
quickjs.c
@ -22248,15 +22248,20 @@ static int __exception js_parse_property_name(JSParseState *s,
|
||||
|
||||
prop_type = PROP_TYPE_IDENT;
|
||||
if (allow_method) {
|
||||
if (token_is_pseudo_keyword(s, JS_ATOM_get)
|
||||
|| token_is_pseudo_keyword(s, JS_ATOM_set)) {
|
||||
/* if allow_private is true (for class field parsing) and
|
||||
get/set is following by ';' (or LF with ASI), then it
|
||||
is a field name */
|
||||
if ((token_is_pseudo_keyword(s, JS_ATOM_get) ||
|
||||
token_is_pseudo_keyword(s, JS_ATOM_set)) &&
|
||||
(!allow_private || peek_token(s, TRUE) != '\n')) {
|
||||
/* get x(), set x() */
|
||||
name = JS_DupAtom(s->ctx, s->token.u.ident.atom);
|
||||
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 == ';' && allow_private)) {
|
||||
is_non_reserved_ident = TRUE;
|
||||
goto ident_found;
|
||||
}
|
||||
|
@ -23,10 +23,6 @@ test262/test/language/expressions/object/computed-property-name-topropertykey-be
|
||||
test262/test/language/expressions/object/computed-property-name-topropertykey-before-value-evaluation.js:31: strict mode: Test262Error: Expected SameValue(«"bad"», «"ok"») to be true
|
||||
test262/test/language/module-code/top-level-await/async-module-does-not-block-sibling-modules.js:13: SyntaxError: Could not find export 'check' in module 'test262/test/language/module-code/top-level-await/async-module-sync_FIXTURE.js'
|
||||
test262/test/language/module-code/top-level-await/module-graphs-does-not-hang.js:10: TypeError: $DONE() not called
|
||||
test262/test/language/statements/class/elements/syntax/valid/grammar-field-named-get-followed-by-generator-asi.js:40: SyntaxError: invalid property name
|
||||
test262/test/language/statements/class/elements/syntax/valid/grammar-field-named-get-followed-by-generator-asi.js:40: strict mode: SyntaxError: invalid property name
|
||||
test262/test/language/statements/class/elements/syntax/valid/grammar-field-named-set-followed-by-generator-asi.js:40: SyntaxError: invalid property name
|
||||
test262/test/language/statements/class/elements/syntax/valid/grammar-field-named-set-followed-by-generator-asi.js:40: strict mode: SyntaxError: invalid property name
|
||||
test262/test/language/statements/with/get-binding-value-call-with-proxy-env.js:39: Test262Error: Actual [has:Object, get:Symbol(Symbol.unscopables), get:Object] and expected [has:Object, get:Symbol(Symbol.unscopables), has:Object, get:Object] should have the same contents.
|
||||
test262/test/language/statements/with/get-binding-value-idref-with-proxy-env.js:39: Test262Error: Actual [has:Object, get:Symbol(Symbol.unscopables), get:Object] and expected [has:Object, get:Symbol(Symbol.unscopables), has:Object, get:Object] should have the same contents.
|
||||
test262/test/language/statements/with/get-mutable-binding-binding-deleted-in-get-unscopables-strict-mode.js:21: Test262Error: Expected a ReferenceError to be thrown but no exception was thrown at all
|
||||
|
Loading…
x
Reference in New Issue
Block a user