Skip to content

Rework symbol visibility checking to allow for multiple potential containers#24971

Merged
weswigham merged 2 commits into
microsoft:masterfrom
weswigham:fix-declaration-emit-exportassignment-vis
Jul 5, 2018
Merged

Rework symbol visibility checking to allow for multiple potential containers#24971
weswigham merged 2 commits into
microsoft:masterfrom
weswigham:fix-declaration-emit-exportassignment-vis

Conversation

@weswigham
Copy link
Copy Markdown
Member

Eg, in the case of

namespace Foo {
   export interface Bar {}
}
export = Foo;

as far as symbol visibility is concerned, Bar has two containing symbols - the Foo namespace (which is what is reported today, as the Bar symbol's .parent) and the file the Foo namespace is assigned to (as it will appear as an (indirect) export of it). This implies there are two equally valid ways to qualify an access to it - Foo.Bar or import("./foo/path").Bar, the first only being valid internally, while the second is always valid.

Fixes #24666

@weswigham weswigham requested a review from mhegazy June 14, 2018 21:14
@weswigham weswigham merged commit 7ad72d2 into microsoft:master Jul 5, 2018
@weswigham weswigham deleted the fix-declaration-emit-exportassignment-vis branch July 5, 2018 23:00
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants