Skip to content

Disallow exporting anonymous classes#4339

Merged
lydell merged 1 commit intojashkenas:masterfrom
GeoffreyBooth:fix-export-anonymous-class
Oct 16, 2016
Merged

Disallow exporting anonymous classes#4339
lydell merged 1 commit intojashkenas:masterfrom
GeoffreyBooth:fix-export-anonymous-class

Conversation

@GeoffreyBooth
Copy link
Collaborator

See this comment.

We had a test for making sure the compiler wasn’t allowing export class (without a name given for the class) but it was a poorly written test, and wasn’t actually checking that the export wasn’t happening. The error message it was checking for was actually getting thrown by the Node runtime (for not understanding the export keyword) rather than checking that anonymous classes can’t be exported.

I added a check in nodes.coffee that exported classes have names, and I fixed the test.

…classes (previously we were outputting invalid JavaScript that the runtime was erroring on)
@lydell lydell merged commit 4d3d735 into jashkenas:master Oct 16, 2016
@lydell lydell deleted the fix-export-anonymous-class branch October 16, 2016 08:23
@zapu
Copy link

zapu commented Oct 25, 2016

Oh, cool, didn't notice it was fixed right after the report! Thank you very much :)

@GeoffreyBooth
Copy link
Collaborator Author

Yes, it will go out with the next release. The current generated code for this edge case isn’t valid JavaScript, so the runtime should already be throwing an error; and then when the next point release goes out with this fix, the compiler will catch the error before the runtime does.

EsrefDurna added a commit to EsrefDurna/coffeescript that referenced this pull request Nov 12, 2025
…mous-class

Disallow exporting anonymous classes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants