Closed
Description
This meta issue tracks all the analyzer implementation work items. Referenced from: https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/process/new_language_feature.md
Work Items
- AST enhancements (
AstBuilder
)- For both locals and parameters, distinguish between wildcard and regular declarations. Keep element for future use in areas like renaming.
- [Wildcard Variables] Resolution of wildcard import directives #56245
- May need some changing depending on [Wildcard Variables][spec]
_
in imports language#3799
- May need some changing depending on [Wildcard Variables][spec]
- Element model
- Type system updates
- Summary support
- Make sure still works as intended.
- Resolution
-
ResolutionVisitor
(resolve types) -
ScopeResolverVisitor
(resolve simple identifiers by scope)- Don't put wildcard variables in scope.
-
ResolverVisitor
(type-based resolution)
-
- [Wildcard Variables] Verify that constant evaluation works as expected #56244
- Verify with some tests that constants still work as expected with wildcards.
- Index and search
- Warnings (annotation-based, unused*, strict-mode-based, a few others)
- ☂️ [wildcards] new and updated diagnostics / lints #56595
- [Wildcard Variables] implement
THIS_ACCESS_FROM_FIELD_INITIALIZER
#56442 - [Wildcard Variables]
private_optional_parameter
support #56381 -
OverrideVerifier
andInheritanceOverrideVerifier
(report errors and warnings related to overrides)- Make sure we can override methods and use
_
for unused parameters. 267b8ef
- Make sure we can override methods and use
-
ErrorVerifier
(report other errors and warnings)- [Wildcard Variables] support for
CONFLICTING_TYPE_VARIABLE_AND_MEMBER
#56397 - [Wildcard Variables] Support for wildcard record type positional fields #56271
- From #initializing-formals, “Even though the parameters no longer collide, it is still an error to have two initializing formals named
_
” - From #super-parameters, “The positional formal parameter super._ is still allowed in non-redirecting generative constructors. Such a parameter forwards the argument's value to the super constructor invocation.”
- [wildcards] produce a warning on
late
wildcard variables. #55905 - [wildcards] report a warning on
final
wildcard variables #55920 - [Wildcard Variables] Update
DUPLICATE_DEFINTION
reporting #56089 - [Wildcard Variables] Update
DUPLICATE_FIELD_FORMAL_PARAMETER
reporting #56092
- [Wildcard Variables] support for
-
FfiVerifier
(report errors and warnings related to FFI) - Unused elements warnings
-
UNUSED_ELEMENT
-
UNUSED_LOCAL_VARIABLE
-
UNUSED_CATCH_CLAUSE
-
UNUSED_CATCH_STACK
-
UNUSED_FIELD
-
- Dead code
-
@useResult
verification should not warn on results assigned to wildcards: a86ec25
- ExitDetector
- NodeLintRegistry