Closed Bug 1655086 Opened 4 years ago Closed 4 years ago

Verify semantics for throwing private field initializers

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: mgaudet, Assigned: mgaudet)

References

Details

Attachments

(1 file)

Suppose an initializer throws:

class A extends Base { 
  #x = "always"
  #y = maybeThrows()
  static gx(o) { return o.#x };
  static gy(o) { return o.#y }; 
};

This bug is about verifying we understand the precise semantics of the spec, and making sure we add a test to enforce our understanding about partially stamped objects.

DefineField calls the intializer before doing PrivateFieldAdd, so if
an initializer throws, we end up with partially initialized objects.

Assignee: nobody → mgaudet
Status: NEW → ASSIGNED
Severity: -- → N/A
Priority: -- → P2
Pushed by mgaudet@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7dc21301609c Test semantics for throwing private field initializers r=yulia
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: