dart-sdk/pkg/status_file
Erik Ernst 3f8c59651f Adjust a declaration to avoid that a type variable shadows a type
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>
2024-09-04 08:15:10 +00:00
..
bin [status_files] Cleanup status files 2024-06-12 10:21:23 +00:00
lib Adjust a declaration to avoid that a type variable shadows a type 2024-09-04 08:15:10 +00:00
test [status_files] Cleanup status files 2024-06-12 10:21:23 +00:00
analysis_options.yaml
OWNERS
pubspec.yaml