e3bdaae457
Replaces "is" tests that refer to classes derived from `DiagnosticCode` with tests on `DiagnosticCode.type`: - `x is ScannerErrorCode || x is ParserErrorCode` is replaced with `x.type == DiagnosticType.SYNTACTIC_ERROR`. This is exactly equivalent, because `ScannerErrorCode` and `ParserErrorCode` are the only two `DiagnosticCode`-derived classes whose `type` method returns `SYNTACTIC_ERROR`. - `x is TodoCode` is replaced with `x.type == DiagnosticType.TODO`. This is exactly equivalent, because `TodoCode` is the only `DiagnosticCode`-derived class whose `type` method returns `TODO`. - In `statement_completion.dart`, `x is! HintCode && x is! WarningCode` is replaced with `x.type == DiagnosticType.SYNTACTIC_ERROR`. The new test is less accepting: for example, it previously accepted diagnostics of type `StaticWarningCode`. This test is used to short-cut the generation of statement completions such as completing an incomplete `do` statement. These completions are only necessary to generate if there is a syntax error, so there should be no user-visible behavior change. - In `fix_processor.dart`, `x is LintCode || x is HintCode || x is WarningCode` is replaced with `x.type == DiagnosticType.LINT || x.type == DiagnosticType.STATIC_WARNING`. The new test is more accepting: it now accepts any diagnostic code whose type is `STATIC_WARNING`, when previously it only accepted warnings of type `WarningCode` (and rejected warnings of types like `StaticWarningCode`). This test determines when quick fixes like "ignore diagnostic on this line" are offered, so the behavior change is appropriate. - Also replaces a documentation reference to `TodoCode` (in `todo_codes.dart`) with a reference to `DiagnosticType.TODO`. These changes pave the way for a follow-up CL in which I plan to eliminate these derived classes entirely. Change-Id: I6a6a69647ff62dfe06b0219d8b292da53427cf0d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461140 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Paul Berry <paulberry@google.com>