-
Notifications
You must be signed in to change notification settings - Fork 857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: