Instead:
- Move its sole used method `#isValidIdentifier` to the `SourceCode`
class.
- Delegate most of said method's implementation to
`javax.lang.model.SourceVersion`.
This check aims to simplify string constants by dropping redundant
single quote escape sequences. The check is optimized for performance.
While there, update existing checks such that they do not introduce
violations of the type flagged by this new check.
This check flags static constants that do not follow the upper snake
case naming convention.
While there, introduce the `Flags#getSet` utility method, and use it to
replace `Flags#getList` in relevant places.
By raising this baseline the project can now use Java 17 language features such
as text blocks, switch expressions and `instanceof` pattern matching. The code
has been updated to make use of these constructs.
Note that the project can still be used by builds that target an older version
of Java, as long as those builds are executed using JDK 17+.
By extracting the `tech.picnic.errorprone.bugpatterns.util` package into a new
Maven module (and renaming the package to `tech.picnic.errorprone.utils`), the
utility classes it contains will also become usable by other Maven modules.