0be8e95a22
Removes nearly all of the special handling of `uniqueName` in constructors in the `DiagnosticCode` class hierarchy. With three exceptions, the value passed for the named parameter `uniqueName` is the same as the value that will eventually be stored in the `DiagnosticCode.uniqueName` field. The three exceptions are the constructors for `LintCode` and `SecurityLintCode`, and the unnamed constructor for `LinterLintCode`. These constructors allow `uniqueName` to be `null`, and if `null` is supplied, they replace it with `LintCode.$name`. These exceptions are needed for analyzer API compatibility in the case of `LintCode`, and for compatibility with google3 code in the case of `SecurityLintCode` and `LinterLintCode`. In follow-up CLs, I will be updating google3 code to make the exceptions in `SecurityLintCode` and `LinterLintCode` unnecessary. Change-Id: I6a6a6964d828c3a8db6563d47347d5ca8f550ac3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459001 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>