Open Bug 1435869 Opened 5 years ago Updated 14 days ago

[META] Decorators proposal

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox60 --- affected

People

(Reporter: till, Assigned: dminor)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

(Keywords: dev-doc-needed, meta)

While the Decorators proposal is only at stage 2, we should start getting implementation experience or at least an analysis of any potential performance concerns or other implementation hardships soon. There might be incidental implementation concerns that we could avoid by suggesting specific changes to the proposal but would otherwise have to live with if we wait too long.

Needinfo for Jason and André for the analysis part as discussed after the last tc39 meeting.
Flags: needinfo?(jorendorff)
Flags: needinfo?(andrebargull)
André, according to my notes you wanted to specifically look into how decorators interact with static class fields and their access to the class scope.
https://tc39.github.io/proposal-decorators/ builds upon https://tc39.github.io/proposal-private-methods/ and also includes https://tc39.github.io/proposal-class-fields/ and https://tc39.github.io/proposal-static-class-features/, so there's a bit of reading to do. Hopefully all four proposals were kept in sync, so they don't contradict each other (too much). :-)

But before diving into the decorators proposal, I should probably finish this other larger project (*cough* irregexp update *cough*).
(In reply to André Bargull [:anba] from comment #2)
> https://tc39.github.io/proposal-decorators/ builds upon
> https://tc39.github.io/proposal-private-methods/ and also includes
> https://tc39.github.io/proposal-class-fields/ and
> https://tc39.github.io/proposal-static-class-features/, so there's a bit of
> reading to do. Hopefully all four proposals were kept in sync, so they don't
> contradict each other (too much). :-)

Dan, can you comment on whether this assumption holds? I'm assuming largely yes, but would be good to be sure.
Flags: needinfo?(littledan)
I've done my best to keep the proposals in sync, but bug reports are always welcome. Among these, I'd recommend starting with private methods and class fields, which are Stage 3 and more stable. Static class features and decorators are likely to have some tweaks to them on their way to Stage 3.

If any SpiderMonkey engineers are interested, I'd like to go over decorator semantics in detail with JS implementers in a call, in preparation for proposing to Stage 3 at TC39. Who should I send an invitation to?
Flags: needinfo?(littledan)
Flags: needinfo?(jorendorff)
Priority: -- → P3
Flags: needinfo?(andrebargull)

This is conditionally advanced. The primary issue of metadata has been fixed, we are waiting on isPrivate (https://github.com/tc39/proposal-decorators/issues/417) and a few other changes.

Assignee: nobody → dminor
Depends on: 1778527
Summary: Implement Decorators proposal → [META] Decorators proposal
Depends on: 1781212
No longer depends on: 1778527
Severity: normal → S3
Severity: S3 → N/A
You need to log in before you can comment on or make changes to this bug.