You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, our scoping assumes that the elements imported into an N4JS resource can be collected in a single go (see invocation of ImportedElementsScopingHelper#getImportedValues() in method N4JSScopeProvider#buildLexicalEnvironmentScope()). However, in case of chains of re-exports across cyclic N4JS files this is not possible and a different approach is required, that collects the elements incrementally across several files.
A preliminary work-around has been implemented in GH-47 by adding two recursion guards in N4JSScopeProvider (search for TODO GH-2338). This will work for many cases, but not all. And overview of supported and unsupported cases can be found in the test file ExportDefinitionInCyclicResourcesTest.xtend.
The goal of this user story is to implement full support for such chains of re-exports across cyclic files. A good starting point could be to disable the two related recursion guards in N4JSScopeProvider(search for TODO GH-2338) and investigate the resulting failures in the above test file.
The text was updated successfully, but these errors were encountered:
Currently, our scoping assumes that the elements imported into an N4JS resource can be collected in a single go (see invocation of
ImportedElementsScopingHelper#getImportedValues()
in methodN4JSScopeProvider#buildLexicalEnvironmentScope()
). However, in case of chains of re-exports across cyclic N4JS files this is not possible and a different approach is required, that collects the elements incrementally across several files.A preliminary work-around has been implemented in GH-47 by adding two recursion guards in
N4JSScopeProvider
(search forTODO GH-2338
). This will work for many cases, but not all. And overview of supported and unsupported cases can be found in the test fileExportDefinitionInCyclicResourcesTest.xtend
.The goal of this user story is to implement full support for such chains of re-exports across cyclic files. A good starting point could be to disable the two related recursion guards in
N4JSScopeProvider
(search forTODO GH-2338
) and investigate the resulting failures in the above test file.The text was updated successfully, but these errors were encountered: