fix(eslint-plugin): [no-unused-vars] fix false positives for duplicated names in namespaces #2659
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.
Fixes #2595
This attempts to make
markDeclarationChildAsUsed
somewhat more targeted.In some cases it seems that
context.getScope().upper
is the correct scope where we should attempt to mark a variable as having been used, in order to avoid starting further down the tree and marking a variable in a child scope as used instead (context.markVariableAsUsed
is an inside-out search, keying in on variable name only).Tests have been added for the two cases where there appears to be a false positive (the ambient declaration of either a
function
or anamespace
with a variable of the same name of the parent in scope)