mirror of
https://github.com/dart-lang/sdk
synced 2024-09-30 04:48:37 +00:00
3f8c59651f
A proposed generalization of the lint `avoid_types_as_parameter_names` will lint situations where a type variable shadows a type. There is one exception, e.g., class C<X> { static void foo<X>() {} // OK } The exception is that a static method can declare type parameters that shadow type parameters declared by the enclosing declaration. The enhanced lint gives rise to a couple of diagnostic messages on SDK code. In particular, `disjunctive.dart` uses `Expression` as the name of a type variable in a context where another declaration named `Expression` is in scope. (This is a plain case, the exception isn't relevant here.) This CL renames that type variable such that the shadowing is avoided. I've chosen to rename it from `Expression` to `TExpression`. It may be more idiomatic Dart to use `E`, but I wanted to avoid eliminating the information which is encoded as the word 'Expression' (which isn't available otherwise because there is no bound). Change-Id: Ifba8b9b74c6bd24f0741752a45c6ebcdc1aebe16 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/382889 Reviewed-by: Devon Carew <devoncarew@google.com> Commit-Queue: Erik Ernst <eernst@google.com> |
||
---|---|---|
.. | ||
bin | ||
lib | ||
test | ||
analysis_options.yaml | ||
OWNERS | ||
pubspec.yaml |