Skip to content

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

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

Wesley Wigham (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
Wesley Wigham (weswigham) merged commit 7ad72d2 into microsoft:master Jul 5, 2018
@weswigham
Wesley Wigham (weswigham) deleted the fix-declaration-emit-exportassignment-vis branch July 5, 2018 23:00
@microsoft 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