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>