diff --git a/crates/oxc_semantic/src/builder.rs b/crates/oxc_semantic/src/builder.rs index 26109633a..dc5e74eb5 100644 --- a/crates/oxc_semantic/src/builder.rs +++ b/crates/oxc_semantic/src/builder.rs @@ -85,7 +85,7 @@ pub struct SemanticBuilder<'a> { check_syntax_error: bool, redeclare_variables: RedeclareVariables, - class_table_builder: ClassTableBuilder, + pub class_table_builder: ClassTableBuilder, } pub struct SemanticBuilderReturn<'a> { diff --git a/crates/oxc_semantic/src/checker/javascript.rs b/crates/oxc_semantic/src/checker/javascript.rs index 78ef21dc1..6b3583c26 100644 --- a/crates/oxc_semantic/src/checker/javascript.rs +++ b/crates/oxc_semantic/src/checker/javascript.rs @@ -36,8 +36,7 @@ impl EarlyErrorJavaScript { check_identifier_reference(ident, node, ctx); } AstKind::LabelIdentifier(ident) => check_identifier(&ident.name, ident.span, node, ctx), - AstKind::PrivateIdentifier(ident) => check_private_identifier(ident, node, ctx), - + AstKind::PrivateIdentifier(ident) => check_private_identifier_outside_class(ident, ctx), AstKind::NumberLiteral(lit) => check_number_literal(lit, ctx), AstKind::StringLiteral(lit) => check_string_literal(lit, ctx), AstKind::RegExpLiteral(lit) => check_regexp_literal(lit, ctx), @@ -273,61 +272,34 @@ fn check_identifier_reference<'a>( } } -fn check_private_identifier<'a>( - ident: &PrivateIdentifier, - node: &AstNode<'a>, - ctx: &SemanticBuilder<'a>, -) { - // Ignore private identifier declaration inside class - if matches!(ctx.nodes.parent_kind(node.id()), Some(AstKind::PropertyKey(_))) { - return; - } - - // Find enclosing classes - let mut classes = vec![]; - for node_id in ctx.nodes.ancestors(node.id()).skip(1) { - let kind = ctx.nodes.kind(node_id); - if let AstKind::Class(class) = kind { - classes.push(class); - } - // stop lookup when the class is a heritage, e.g. - // `class C extends class extends class { x = this.#foo; } {} { #foo }` - // `class C extends function() { x = this.#foo; } { #foo }` - if matches!(kind, AstKind::ClassHeritage(_)) { - break; - } - } - - if classes.is_empty() { +fn check_private_identifier_outside_class(ident: &PrivateIdentifier, ctx: &SemanticBuilder<'_>) { + if ctx.class_table_builder.current_class_id.is_none() { #[derive(Debug, Error, Diagnostic)] #[error("Private identifier '#{0}' is not allowed outside class bodies")] #[diagnostic()] struct PrivateNotInClass(Atom, #[label] Span); - return ctx.error(PrivateNotInClass(ident.name.clone(), ident.span)); - }; + ctx.error(PrivateNotInClass(ident.name.clone(), ident.span)); + } +} - // Check private identifier declarations in class. - // This implementations does a simple lookup for private identifier declarations inside a class. - // Performance can be improved by storing private identifiers for each class inside a lookup table, - // but there are not many private identifiers in the wild so we should be good fow now. - let found_private_ident = classes.iter().any(|class| { - class.body.body.iter().any(|def| { - // let key = match def { - // ClassElement::PropertyDefinition(def) => &def.key, - // ClassElement::MethodDefinition(def) => &def.key, - // _ => return false, - // }; - matches!(def.property_key(), Some(PropertyKey::PrivateIdentifier(prop_ident)) - if prop_ident.name == ident.name) - }) - }); - - if !found_private_ident { - #[derive(Debug, Error, Diagnostic)] - #[error("Private field '{0}' must be declared in an enclosing class")] - #[diagnostic()] - struct PrivateFieldUndeclared(Atom, #[label] Span); - ctx.error(PrivateFieldUndeclared(ident.name.clone(), ident.span)); +fn check_private_identifier(ctx: &SemanticBuilder<'_>) { + if let Some(class_id) = ctx.class_table_builder.current_class_id { + ctx.class_table_builder.classes.iter_private_identifiers(class_id).for_each(|reference| { + if reference.property_id.is_none() + && reference.method_id.is_none() + && !ctx.class_table_builder.classes.ancestors(class_id).skip(1).any(|class_id| { + ctx.class_table_builder + .classes + .has_private_definition(class_id, &reference.name) + }) + { + #[derive(Debug, Error, Diagnostic)] + #[error("Private field '{0}' must be declared in an enclosing class")] + #[diagnostic()] + struct PrivateFieldUndeclared(Atom, #[label] Span); + ctx.error(PrivateFieldUndeclared(reference.name.clone(), reference.span)); + } + }); } } @@ -817,6 +789,8 @@ fn check_class(class: &Class, ctx: &SemanticBuilder<'_>) { #[label("it cannot be redeclared here")] Span, ); + check_private_identifier(ctx); + // ClassBody : ClassElementList // It is a Syntax Error if PrototypePropertyNameList of ClassElementList contains more than one occurrence of "constructor". let mut prev_constructor: Option = None; diff --git a/crates/oxc_semantic/src/class/builder.rs b/crates/oxc_semantic/src/class/builder.rs index c0e6021d4..a7624b472 100644 --- a/crates/oxc_semantic/src/class/builder.rs +++ b/crates/oxc_semantic/src/class/builder.rs @@ -15,7 +15,7 @@ use super::{ #[derive(Debug, Default)] pub struct ClassTableBuilder { pub current_class_id: Option, - classes: ClassTable, + pub classes: ClassTable, } impl ClassTableBuilder { diff --git a/crates/oxc_semantic/src/class/table.rs b/crates/oxc_semantic/src/class/table.rs index b6f2bda16..7e462c01c 100644 --- a/crates/oxc_semantic/src/class/table.rs +++ b/crates/oxc_semantic/src/class/table.rs @@ -78,6 +78,13 @@ impl ClassTable { self.declarations.iter_enumerated() } + pub fn iter_private_identifiers( + &self, + class_id: ClassId, + ) -> impl Iterator + '_ { + self.private_identifiers[class_id].iter() + } + pub fn get_property_id(&self, class_id: ClassId, name: &Atom) -> Option { self.properties[class_id].iter_enumerated().find_map(|(property_id, property)| { if property.name == *name { diff --git a/tasks/coverage/parser_test262.snap b/tasks/coverage/parser_test262.snap index b836ceee6..f0063e7a5 100644 --- a/tasks/coverage/parser_test262.snap +++ b/tasks/coverage/parser_test262.snap @@ -9696,14 +9696,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 24 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] - 39 │ g = this.f; - 40 │ x = delete (g().#m); - · ── - 41 │ - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] 39 │ g = this.f; @@ -9713,7 +9705,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-set.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9729,7 +9721,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async-gen.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-set.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9745,7 +9737,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async-gen.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9761,7 +9753,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-gen.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9777,7 +9769,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-gen.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9793,7 +9785,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-no-reference.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method.js:39:1] 39 │ g = this.f; 40 │ x = delete (g().#m); · ── @@ -9808,6 +9800,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-no-reference.js:39:1] + 39 │ g = this.f; + 40 │ x = delete (g().#m); + · ── + 41 │ + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-privatename.js:39:1] 39 │ g = this.f; @@ -9816,14 +9816,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] - 39 │ - 40 │ x = delete (this.#m - · ── - 41 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] 39 │ @@ -9833,7 +9825,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-set.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] 39 │ 40 │ x = delete (this.#m · ── @@ -9848,6 +9840,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-set.js:39:1] + 39 │ + 40 │ x = delete (this.#m + · ── + 41 │ ); + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-async-gen.js:39:1] 39 │ @@ -9872,14 +9872,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:39:1] - 39 │ - 40 │ x = delete (this.#m - · ── - 41 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:39:1] 39 │ @@ -9889,18 +9881,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:39:1] + 39 │ + 40 │ x = delete (this.#m + · ── + 41 │ ); + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-no-reference.js:39:1] 39 │ 40 │ x = delete (this.#m); - · ── + · ─────── 41 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-no-reference.js:39:1] 39 │ 40 │ x = delete (this.#m); - · ─────── + · ── 41 │ ╰──── @@ -9912,14 +9912,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] - 33 │ g = this.f; - 34 │ x = delete g().#m; - · ── - 35 │ - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] 33 │ g = this.f; @@ -9929,7 +9921,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-set.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -9945,7 +9937,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async-gen.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-set.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -9961,7 +9953,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async-gen.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -9977,7 +9969,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-gen.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -9993,7 +9985,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-gen.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -10009,7 +10001,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-no-reference.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -10024,6 +10016,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-no-reference.js:33:1] + 33 │ g = this.f; + 34 │ x = delete g().#m; + · ── + 35 │ + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-privatename.js:33:1] 33 │ g = this.f; @@ -10032,14 +10032,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] - 33 │ - 34 │ x = delete this.#m - · ── - 35 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] 33 │ @@ -10049,7 +10041,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-set.js:33:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] 33 │ 34 │ x = delete this.#m · ── @@ -10064,6 +10056,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ; ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-set.js:33:1] + 33 │ + 34 │ x = delete this.#m + · ── + 35 │ ; + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-async-gen.js:33:1] 33 │ @@ -10088,14 +10088,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ; ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] - 33 │ - 34 │ x = delete this.#m - · ── - 35 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] 33 │ @@ -10105,18 +10097,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] + 33 │ + 34 │ x = delete this.#m + · ── + 35 │ ; + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-no-reference.js:33:1] 33 │ 34 │ x = delete this.#m; - · ── + · ─────── 35 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-no-reference.js:33:1] 33 │ 34 │ x = delete this.#m; - · ─────── + · ── 35 │ ╰──── @@ -10128,14 +10128,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] - 39 │ g = this.f; - 40 │ x = delete ((g().#m)); - · ── - 41 │ - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] 39 │ g = this.f; @@ -10145,7 +10137,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10161,7 +10153,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10177,7 +10169,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10193,7 +10185,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-gen.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10209,7 +10201,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-gen.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10225,7 +10217,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-no-reference.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method.js:39:1] 39 │ g = this.f; 40 │ x = delete ((g().#m)); · ── @@ -10240,6 +10232,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-no-reference.js:39:1] + 39 │ g = this.f; + 40 │ x = delete ((g().#m)); + · ── + 41 │ + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-privatename.js:39:1] 39 │ g = this.f; @@ -10248,14 +10248,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] - 39 │ - 40 │ x = delete ((this.#m - · ── - 41 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] 39 │ @@ -10265,7 +10257,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:39:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:39:1] 39 │ 40 │ x = delete ((this.#m · ── @@ -10280,6 +10272,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ )); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:39:1] + 39 │ + 40 │ x = delete ((this.#m + · ── + 41 │ )); + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js:39:1] 39 │ @@ -10304,14 +10304,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ )); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:39:1] - 39 │ - 40 │ x = delete ((this.#m - · ── - 41 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:39:1] 39 │ @@ -10321,18 +10313,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:39:1] + 39 │ + 40 │ x = delete ((this.#m + · ── + 41 │ )); + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-no-reference.js:39:1] 39 │ 40 │ x = delete ((this.#m)); - · ── + · ─────── 41 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-no-reference.js:39:1] 39 │ 40 │ x = delete ((this.#m)); - · ─────── + · ── 41 │ ╰──── @@ -10344,14 +10344,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 41 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] - 41 │ var g = this.f; - 42 │ delete (g().#m); - · ── - 43 │ } - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; @@ -10361,7 +10353,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10377,7 +10369,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async-gen.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10393,7 +10385,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async-gen.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10409,7 +10401,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-gen.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10425,7 +10417,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-gen.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10441,7 +10433,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-no-reference.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -10456,6 +10448,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-no-reference.js:41:1] + 41 │ var g = this.f; + 42 │ delete (g().#m); + · ── + 43 │ } + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-privatename.js:41:1] 41 │ var g = this.f; @@ -10464,14 +10464,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] - 41 │ - 42 │ delete (this.#m - · ── - 43 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ @@ -10481,7 +10473,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ 42 │ delete (this.#m · ── @@ -10496,6 +10488,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ ); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + 41 │ + 42 │ delete (this.#m + · ── + 43 │ ); + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-async-gen.js:41:1] 41 │ @@ -10520,14 +10520,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ ); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] - 41 │ - 42 │ delete (this.#m - · ── - 43 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] 41 │ @@ -10537,18 +10529,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] + 41 │ + 42 │ delete (this.#m + · ── + 43 │ ); + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete (this.#m); - · ── + · ─────── 43 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete (this.#m); - · ─────── + · ── 43 │ } ╰──── @@ -10560,14 +10560,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] - 35 │ var g = this.f; - 36 │ delete g().#m; - · ── - 37 │ } - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] 35 │ var g = this.f; @@ -10577,7 +10569,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-set.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10593,7 +10585,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async-gen.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-set.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10609,7 +10601,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async-gen.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10625,7 +10617,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-gen.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10641,7 +10633,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-gen.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10657,7 +10649,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-no-reference.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -10672,6 +10664,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-no-reference.js:35:1] + 35 │ var g = this.f; + 36 │ delete g().#m; + · ── + 37 │ } + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-privatename.js:35:1] 35 │ var g = this.f; @@ -10680,14 +10680,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] - 35 │ - 36 │ delete this.#m - · ── - 37 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] 35 │ @@ -10697,7 +10689,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-set.js:35:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] 35 │ 36 │ delete this.#m · ── @@ -10712,6 +10704,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ ; ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-set.js:35:1] + 35 │ + 36 │ delete this.#m + · ── + 37 │ ; + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-async-gen.js:35:1] 35 │ @@ -10736,14 +10736,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ ; ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] - 35 │ - 36 │ delete this.#m - · ── - 37 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] 35 │ @@ -10753,18 +10745,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] + 35 │ + 36 │ delete this.#m + · ── + 37 │ ; + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-no-reference.js:35:1] 35 │ 36 │ delete this.#m; - · ── + · ─────── 37 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-no-reference.js:35:1] 35 │ 36 │ delete this.#m; - · ─────── + · ── 37 │ } ╰──── @@ -10776,14 +10776,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] - 41 │ var g = this.f; - 42 │ delete ((g().#m)); - · ── - 43 │ } - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; @@ -10793,7 +10785,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10809,7 +10801,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10825,7 +10817,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10841,7 +10833,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-gen.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10857,7 +10849,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-gen.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10873,7 +10865,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-no-reference.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -10888,6 +10880,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-no-reference.js:41:1] + 41 │ var g = this.f; + 42 │ delete ((g().#m)); + · ── + 43 │ } + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-privatename.js:41:1] 41 │ var g = this.f; @@ -10896,14 +10896,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] - 41 │ - 42 │ delete ((this.#m - · ── - 43 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ @@ -10913,7 +10905,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ 42 │ delete ((this.#m · ── @@ -10928,6 +10920,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ )); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + 41 │ + 42 │ delete ((this.#m + · ── + 43 │ )); + ╰──── + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js:41:1] 41 │ @@ -10952,14 +10952,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ )); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] - 41 │ - 42 │ delete ((this.#m - · ── - 43 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] 41 │ @@ -10969,18 +10961,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] + 41 │ + 42 │ delete ((this.#m + · ── + 43 │ )); + ╰──── + + × Private fields can not be deleted ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete ((this.#m)); - · ── + · ─────── 43 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/expressions/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete ((this.#m)); - · ─────── + · ── 43 │ } ╰──── @@ -25200,14 +25200,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 24 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] - 36 │ g = this.f; - 37 │ x = delete (g().#m); - · ── - 38 │ f() { - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] 36 │ g = this.f; @@ -25217,7 +25209,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-set.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25233,7 +25225,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async-gen.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-accessor-set.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25249,7 +25241,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async-gen.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25265,7 +25257,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-gen.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-async.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25281,7 +25273,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method-gen.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25297,7 +25289,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-no-reference.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-method.js:36:1] 36 │ g = this.f; 37 │ x = delete (g().#m); · ── @@ -25312,6 +25304,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ f() { ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-private-no-reference.js:36:1] + 36 │ g = this.f; + 37 │ x = delete (g().#m); + · ── + 38 │ f() { + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-call-expression-privatename.js:36:1] 36 │ g = this.f; @@ -25320,14 +25320,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ f() { ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] - 36 │ - 37 │ x = delete (this.#m - · ── - 38 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] 36 │ @@ -25337,7 +25329,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-set.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] 36 │ 37 │ x = delete (this.#m · ── @@ -25352,6 +25344,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-accessor-set.js:36:1] + 36 │ + 37 │ x = delete (this.#m + · ── + 38 │ ); + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method-async-gen.js:36:1] 36 │ @@ -25376,14 +25376,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:36:1] - 36 │ - 37 │ x = delete (this.#m - · ── - 38 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:36:1] 36 │ @@ -25393,18 +25385,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-method.js:36:1] + 36 │ + 37 │ x = delete (this.#m + · ── + 38 │ ); + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-no-reference.js:36:1] 36 │ 37 │ x = delete (this.#m); - · ── + · ─────── 38 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-covered-err-delete-member-expression-private-no-reference.js:36:1] 36 │ 37 │ x = delete (this.#m); - · ─────── + · ── 38 │ ╰──── @@ -25416,14 +25416,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] - 33 │ g = this.f; - 34 │ x = delete g().#m; - · ── - 35 │ f() { - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] 33 │ g = this.f; @@ -25433,7 +25425,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-set.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-get.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25449,7 +25441,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async-gen.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-accessor-set.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25465,7 +25457,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async-gen.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25481,7 +25473,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-gen.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-async.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25497,7 +25489,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method-gen.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25513,7 +25505,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-no-reference.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-method.js:33:1] 33 │ g = this.f; 34 │ x = delete g().#m; · ── @@ -25528,6 +25520,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ f() { ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-private-no-reference.js:33:1] + 33 │ g = this.f; + 34 │ x = delete g().#m; + · ── + 35 │ f() { + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-call-expression-privatename.js:33:1] 33 │ g = this.f; @@ -25536,14 +25536,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ f() { ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] - 33 │ - 34 │ x = delete this.#m - · ── - 35 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] 33 │ @@ -25553,7 +25545,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-set.js:33:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-get.js:33:1] 33 │ 34 │ x = delete this.#m · ── @@ -25568,6 +25560,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ; ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-accessor-set.js:33:1] + 33 │ + 34 │ x = delete this.#m + · ── + 35 │ ; + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method-async-gen.js:33:1] 33 │ @@ -25592,14 +25592,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ; ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] - 33 │ - 34 │ x = delete this.#m - · ── - 35 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] 33 │ @@ -25609,18 +25601,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-method.js:33:1] + 33 │ + 34 │ x = delete this.#m + · ── + 35 │ ; + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-no-reference.js:33:1] 33 │ 34 │ x = delete this.#m; - · ── + · ─────── 35 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-err-delete-member-expression-private-no-reference.js:33:1] 33 │ 34 │ x = delete this.#m; - · ─────── + · ── 35 │ ╰──── @@ -25632,14 +25632,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 35 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] - 36 │ g = this.f; - 37 │ x = delete ((g().#m)); - · ── - 38 │ - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] 36 │ g = this.f; @@ -25649,7 +25641,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25665,7 +25657,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25681,7 +25673,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25697,7 +25689,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-gen.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-async.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25713,7 +25705,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method-gen.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25729,7 +25721,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-no-reference.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-method.js:36:1] 36 │ g = this.f; 37 │ x = delete ((g().#m)); · ── @@ -25744,6 +25736,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-private-no-reference.js:36:1] + 36 │ g = this.f; + 37 │ x = delete ((g().#m)); + · ── + 38 │ + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-call-expression-privatename.js:36:1] 36 │ g = this.f; @@ -25752,14 +25752,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] - 36 │ - 37 │ x = delete ((this.#m - · ── - 38 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] 36 │ @@ -25769,7 +25761,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:36:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:36:1] 36 │ 37 │ x = delete ((this.#m · ── @@ -25784,6 +25776,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ )); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:36:1] + 36 │ + 37 │ x = delete ((this.#m + · ── + 38 │ )); + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js:36:1] 36 │ @@ -25808,14 +25808,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ )); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:36:1] - 36 │ - 37 │ x = delete ((this.#m - · ── - 38 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:36:1] 36 │ @@ -25825,18 +25817,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-method.js:36:1] + 36 │ + 37 │ x = delete ((this.#m + · ── + 38 │ )); + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-no-reference.js:36:1] 36 │ 37 │ x = delete ((this.#m)); - · ── + · ─────── 38 │ ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/field-delete-twice-covered-err-delete-member-expression-private-no-reference.js:36:1] 36 │ 37 │ x = delete ((this.#m)); - · ─────── + · ── 38 │ ╰──── @@ -25848,14 +25848,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 38 │ ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] - 41 │ var g = this.f; - 42 │ delete (g().#m); - · ── - 43 │ } - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; @@ -25865,7 +25857,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25881,7 +25873,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async-gen.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25897,7 +25889,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async-gen.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25913,7 +25905,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-gen.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-async.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25929,7 +25921,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method-gen.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25945,7 +25937,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-no-reference.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-method.js:41:1] 41 │ var g = this.f; 42 │ delete (g().#m); · ── @@ -25960,6 +25952,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-private-no-reference.js:41:1] + 41 │ var g = this.f; + 42 │ delete (g().#m); + · ── + 43 │ } + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-call-expression-privatename.js:41:1] 41 │ var g = this.f; @@ -25968,14 +25968,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] - 41 │ - 42 │ delete (this.#m - · ── - 43 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ @@ -25985,7 +25977,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ 42 │ delete (this.#m · ── @@ -26000,6 +25992,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ ); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + 41 │ + 42 │ delete (this.#m + · ── + 43 │ ); + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method-async-gen.js:41:1] 41 │ @@ -26024,14 +26024,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ ); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] - 41 │ - 42 │ delete (this.#m - · ── - 43 │ ); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] 41 │ @@ -26041,18 +26033,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-method.js:41:1] + 41 │ + 42 │ delete (this.#m + · ── + 43 │ ); + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete (this.#m); - · ── + · ─────── 43 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete (this.#m); - · ─────── + · ── 43 │ } ╰──── @@ -26064,14 +26064,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] - 35 │ var g = this.f; - 36 │ delete g().#m; - · ── - 37 │ } - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] 35 │ var g = this.f; @@ -26081,7 +26073,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-set.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-get.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26097,7 +26089,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async-gen.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-accessor-set.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26113,7 +26105,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async-gen.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26129,7 +26121,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-gen.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-async.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26145,7 +26137,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method-gen.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26161,7 +26153,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-no-reference.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-method.js:35:1] 35 │ var g = this.f; 36 │ delete g().#m; · ── @@ -26176,6 +26168,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-private-no-reference.js:35:1] + 35 │ var g = this.f; + 36 │ delete g().#m; + · ── + 37 │ } + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-call-expression-privatename.js:35:1] 35 │ var g = this.f; @@ -26184,14 +26184,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] - 35 │ - 36 │ delete this.#m - · ── - 37 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] 35 │ @@ -26201,7 +26193,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-set.js:35:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-get.js:35:1] 35 │ 36 │ delete this.#m · ── @@ -26216,6 +26208,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ ; ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-accessor-set.js:35:1] + 35 │ + 36 │ delete this.#m + · ── + 37 │ ; + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method-async-gen.js:35:1] 35 │ @@ -26240,14 +26240,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ ; ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] - 35 │ - 36 │ delete this.#m - · ── - 37 │ ; - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] 35 │ @@ -26257,18 +26249,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-method.js:35:1] + 35 │ + 36 │ delete this.#m + · ── + 37 │ ; + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-no-reference.js:35:1] 35 │ 36 │ delete this.#m; - · ── + · ─────── 37 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-err-delete-member-expression-private-no-reference.js:35:1] 35 │ 36 │ delete this.#m; - · ─────── + · ── 37 │ } ╰──── @@ -26280,14 +26280,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 37 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] - 41 │ var g = this.f; - 42 │ delete ((g().#m)); - · ── - 43 │ } - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; @@ -26297,7 +26289,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-get.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26313,7 +26305,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-accessor-set.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26329,7 +26321,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26345,7 +26337,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-gen.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-async.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26361,7 +26353,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method-gen.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26377,7 +26369,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-no-reference.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-method.js:41:1] 41 │ var g = this.f; 42 │ delete ((g().#m)); · ── @@ -26392,6 +26384,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-private-no-reference.js:41:1] + 41 │ var g = this.f; + 42 │ delete ((g().#m)); + · ── + 43 │ } + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-call-expression-privatename.js:41:1] 41 │ var g = this.f; @@ -26400,14 +26400,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ } ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] - 41 │ - 42 │ delete ((this.#m - · ── - 43 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ @@ -26417,7 +26409,7 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-get.js:41:1] 41 │ 42 │ delete ((this.#m · ── @@ -26432,6 +26424,14 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ )); ╰──── + × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-accessor-set.js:41:1] + 41 │ + 42 │ delete ((this.#m + · ── + 43 │ )); + ╰──── + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js:41:1] 41 │ @@ -26456,14 +26456,6 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" 43 │ )); ╰──── - × Private field 'm' must be declared in an enclosing class - ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] - 41 │ - 42 │ delete ((this.#m - · ── - 43 │ )); - ╰──── - × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] 41 │ @@ -26473,18 +26465,26 @@ Expect Syntax Error: "language/import/import-attributes/json-named-bindings.js" ╰──── × Private field 'm' must be declared in an enclosing class + ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-method.js:41:1] + 41 │ + 42 │ delete ((this.#m + · ── + 43 │ )); + ╰──── + + × Private fields can not be deleted ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete ((this.#m)); - · ── + · ─────── 43 │ } ╰──── - × Private fields can not be deleted + × Private field 'm' must be declared in an enclosing class ╭─[language/statements/class/elements/syntax/early-errors/delete/method-delete-twice-covered-err-delete-member-expression-private-no-reference.js:41:1] 41 │ 42 │ delete ((this.#m)); - · ─────── + · ── 43 │ } ╰──── diff --git a/tasks/coverage/parser_typescript.snap b/tasks/coverage/parser_typescript.snap index 3b252459d..8f4617395 100644 --- a/tasks/coverage/parser_typescript.snap +++ b/tasks/coverage/parser_typescript.snap @@ -1,6 +1,6 @@ parser_typescript Summary: AST Parsed : 5201/5205 (99.92%) -Positive Passed: 5194/5205 (99.79%) +Positive Passed: 5192/5205 (99.75%) Negative Passed: 1023/4859 (21.05%) Expect Syntax Error: "compiler/ClassDeclaration10.ts" Expect Syntax Error: "compiler/ClassDeclaration11.ts" @@ -3880,6 +3880,39 @@ Expect to Parse: "compiler/withStatementInternalComments.ts" · ──── ╰──── +Expect to Parse: "conformance/classes/propertyMemberDeclarations/autoAccessor2.ts" + × Private field 'a' must be declared in an enclosing class + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor2.ts:9:1] + 9 │ constructor() { + 10 │ this.#a = 3; + · ── + 11 │ this.#b = 4; + ╰──── + + × Private field 'b' must be declared in an enclosing class + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor2.ts:10:1] + 10 │ this.#a = 3; + 11 │ this.#b = 4; + · ── + 12 │ } + ╰──── + + × Private field 'c' must be declared in an enclosing class + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor2.ts:14:1] + 14 │ static { + 15 │ this.#c = 5; + · ── + 16 │ this.#d = 6; + ╰──── + + × Private field 'd' must be declared in an enclosing class + ╭─[conformance/classes/propertyMemberDeclarations/autoAccessor2.ts:15:1] + 15 │ this.#c = 5; + 16 │ this.#d = 6; + · ── + 17 │ } + ╰──── + Expect to Parse: "conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts" × Classes may not have a static property named prototype ╭─[conformance/classes/propertyMemberDeclarations/staticPropertyNameConflicts.ts:55:1] @@ -3938,6 +3971,23 @@ Expect to Parse: "conformance/es6/moduleExportsSystem/topLevelVarHoistingCommonJ 69 │ var y = _; ╰──── +Expect to Parse: "conformance/esDecorators/classDeclaration/fields/esDecorators-classDeclaration-fields-staticPrivateAccessor.ts" + × Private field 'field1' must be declared in an enclosing class + ╭─[conformance/esDecorators/classDeclaration/fields/esDecorators-classDeclaration-fields-staticPrivateAccessor.ts:14:1] + 14 │ static { + 15 │ this.#field1; + · ─────── + 16 │ this.#field1 = 1; + ╰──── + + × Private field 'field1' must be declared in an enclosing class + ╭─[conformance/esDecorators/classDeclaration/fields/esDecorators-classDeclaration-fields-staticPrivateAccessor.ts:15:1] + 15 │ this.#field1; + 16 │ this.#field1 = 1; + · ─────── + 17 │ } + ╰──── + Expect to Parse: "conformance/esDecorators/esDecorators-preservesThis.ts" × Unexpected token ╭─[conformance/esDecorators/esDecorators-preservesThis.ts:26:1]