-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Analyzer does not handle aliases of @proxy #15467
Comments
Nor is it clear that it ought to. According to the specification: Let C be a concrete class that does not declare its own noSuchMethod() method and is It is a static warning if the implicit interface of C includes an instance member m of type The question is, does "of the form" mean that it has to be the same identifier, or does it mean "evaluates to the same value as". The analyzer does not execute Dart code. This is a special case that it could handle because, as far as I can think, this simple form of aliasing is the only kind of evaluation that would need to be done, but I'd rather not be required to perform even that much execution. I'm changing this to a Language issue until this question is resolved. If we need to cover this case, please set it back to being an Analyzer issue. Removed Area-Analyzer label. |
I think it should work. It should be possible to do: class Foo extends Deprecated { and then do: and have the "fisk" variable be deprecated - because it is annotated by a value that implements Deprecated. That might require tracking constant values, not names. |
I've been meaning to add tests for this for a while, so good job Johnni :) |
The spec says: " ... a constant identical to the constant @proxy defined in dart:core. " so I'm sending this bug to analyzer land. Set owner to @gbracha. |
Removed the owner. |
Set owner to @stereotype441. |
I did some preliminary work on this ages ago. The plan was to:
I believe steps 1 and 2 have been completed. |
Analyzer does not handle aliases of @proxy, like
const alias = proxy;
@alias
class AliasProxy {}
Failing language tests:
language/proxy_test/05
language/proxy_test/06
The text was updated successfully, but these errors were encountered: