-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Allow variable statements used as declaration sites to be marked visible #22798
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
Merged
weswigham
merged 7 commits into
microsoft:master
from
weswigham:mark-unexported-vars-visible-for-names
Apr 9, 2018
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
8e22aa1
Allow variable statements used as declaration sites to be marked visi…
weswigham 81cee34
Dont forget to transform statements
weswigham d5179ae
Accept baselines
weswigham 665710f
Merge branch 'master' into mark-unexported-vars-visible-for-names
weswigham d512948
Accept updated baselines for new test
weswigham b011876
Emit scope fix markers
weswigham 94a2911
Add partial private variable declaration emit test
weswigham File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
should not we do this for all declarations and not jsut variable declarations? e.g. #23127
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.
So allow private interfaces, types, anything - to be marked and emitted?
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.
why are variables any special? they are all declarations..
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.
Mostly just because they're only used to name unique symbols. I can update to handle the other kinds of declaration statements, but it'll require more work to light up each private declaration kind in the declaration emitter.
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.
u want to get this in first then do the other ones? that is fine by me as well.. but we need to do them all, no point in half doing it.
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.
Also did @mhegazy's ask included making it visible all the time.. I thought it implied only in
export =
case i think, because other wise we would be making lot of stuff visible which might not be intended?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.
he added code later on to make it emit an extra
export {};
at the bottom, this should change the module scoping.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.
@sheetalkamat The aliases that get returned by this function are the statements the emitter needs to revisit - they are not blindly emitted. The visibility is actually handled by setting
isVisible
on the node links (done inaddVisibleAlias
), which is only done on the specific variable declaration that is the symbol's source.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.
can you add a test wherein only one variable declaration becomes visible. Thanks.
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.
@sheetalkamat done