-
Notifications
You must be signed in to change notification settings - Fork 396
Emitter changes to fuse JS emitting and printing #4922
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
Conversation
6b022be
to
a65db04
Compare
I have added a commit to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit, but otherwise LGTM.
ctor, // invalidated directly | ||
memberMethods, // invalidated directly | ||
exportedMembers.flatten // invalidated directly | ||
ctor ++ memberMethods ++ exportedMembers.flatten // all 3 invalidated directly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these are all List
s, :::
is more efficient:
ctor ++ memberMethods ++ exportedMembers.flatten // all 3 invalidated directly | |
ctor ::: memberMethods ::: exportedMembers.flatten // all 3 invalidated directly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed .
57c062c
to
f40cd0d
Compare
This allows us to invalidate generated exported members less often (and in following commits, also class members).
Now that we have it, we might as well save some memory.
This simplifies buildClass. Thanks to the special version for isJSClass, this will lead to acceptable invalidations (only if the class kind changes, which should be rare).
This removes the only desugarExpr call from buildClass. Since we'll stop caching buildClass going forward, this is important.
No description provided.