-
-
Notifications
You must be signed in to change notification settings - Fork 672
Rework resolver infrastructure #473
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
Comments
@dcodeIO what's proper way to determine if |
Maybe something like: if (declaration.is(CommonFlags.EXPORT)) {
let source = declaration.range.source;
if (source.isEntry && source.statements.includes(declaration)) {
...
}
} Doesn't cover exports in exported namespaces though, that'd need traversal. Also doesn't catch variable declarations as these are wrapped in a top-level VariableStatement. And doesn't catch |
BTW, what is |
Looks like #429 not fixed yet, I'll try to give repro later. |
The |
@dcodeIO it seems all issues in top message already solved. But I understand that improvements on resolver still going on? |
There are multiple issues outlining problems when trying to resolve members (of namespaces), both from within and from outside static scopes. This is caused by our lookup maps not being easily traversable respectively not including aliases for all possible scenarios.
Namespaces for types don't work #423 shows what's the issue from outsideExported type not found #144 describes issues with the non-standard way we look up typesProblems with calling methods from class under namespace #127 shows what's happening from the insideSo, this is a tracking meta issue for all those kinds of problems that should most likely be solved by reworking how our IR is linked with proper nested lookups, possibly also transitioning to symbol tables to avoid having to hash strings over and over again.
There are also multiple other issues that result from a different limitation of the resolver (can't resolve every kind of expression without first compiling it):
Compiling never end with some code examples #439 displays catastrophic backtrackingThe latter are not directly tracked here but mentioned in case it turns out that there are ways to tackle them in one go.
The text was updated successfully, but these errors were encountered: