-
Notifications
You must be signed in to change notification settings - Fork 858
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
ES2015 Classes and inheritance #835
Comments
Class support would be great. It's mainly a case of digging into the parser and syntax tree and making all that work. It's not a easy job though, which is why I don't think anyone has tackled it yet. It's a great project for an ambitous volunteer though. |
Note that while this case is in milestore ES2015, to date there's a pletora of additional proposals that have made it into the ECMAScript standard that we should also consider when picking case up. There are currently no stand-alone issues registered for Rhino for all these followup proposals, as they all depend on the initial Class implementation. Browse https://github.com/tc39/proposals/blob/master/finished-proposals.md for an idea of the followup proposals, like https://github.com/tc39/proposal-class-static-block or https://github.com/tc39/proposal-private-fields-in-in, just to name a few |
something to keep in the back of our minds when implementing Classes: ability to extend Java classes and syntax suger Note that at the time of writting, GraalJS doesn't support extending Java classes: oracle/graaljs#32 (comment) |
Some details on the @@Species/Symbols.species behavior when it comes to subclassing built-ins: https://github.com/tc39/proposal-rm-builtin-subclassing |
This is a big hole in our language support today, IMO. I have struggled off and on to start on this but haven't found the time to really dig in. Since there are a few of you working on the project now who have been able to really dig in to the parser and IR in detail, perhaps someone could take a crack at this... I started experimenting with doing this solely as a "transformer" in the parse / compile pipeline, but I found that it wasn't all that helpful really, and I think that we're likely to require at least some new runtime support if we want to get everything right. |
As a first step, me and @0xe are working on implementing |
Are there any plans in the near future to implement classes and inheritance in Rhino? And other OO related features described here: https://medium.com/ecmascript-2015/es6-classes-and-inheritance-607804080906
The text was updated successfully, but these errors were encountered: