-
Notifications
You must be signed in to change notification settings - Fork 24
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
ComposeModifierReused false positive on a shadowed parameter name #268
Comments
I think your workaround is probably the right thing to do in this scenario if I'm honest. I'm not sure how easy it is to trace through shadowed names, and this is a compiler warning anyway :) |
I'm assuming the local has a different UAST type than the parameter name or that maybe somehow PSI resolution might help do that tracing. I agree it isn't a huge deal, but it seems like a worthwhile endeavor to investigate if there's an easy solution. I will try to do that soon. |
Yeah def open to a PR if you find a good way |
I wonder if the path forward involves leveraging It's not much, but this detects some of the offending errors: main...jzbrooks:compose-lints:name-shadowing If some of the test stubs were more robust (for example |
I think the solution from #441 can help this case |
I was tinkering with some ideas a couple days ago and noticed that this check fails the use of a locally scoped modifier instance if it has the same name as the composable parameter's modifier argument. I would expect the check to take scope into consideration and not fail when the modifier parameter name has been shadowed.
Notice below that the name
modifier
inside theRow
(I wish I'd screencap'd the line numbers). Renaming that variable works around the problem.Error
Rename Workaround
The text was updated successfully, but these errors were encountered: