From 94908d6a378f777e88d70ef697ad5f1fdca6fa69 Mon Sep 17 00:00:00 2001
From: Pieter Dirk Soels
Date: Mon, 11 Apr 2022 17:55:57 +0200
Subject: [PATCH] Require static import of `java.util.UUID#randomUUID` (#42)
---
.../tech/picnic/errorprone/bugpatterns/StaticImportCheck.java | 1 +
.../picnic/errorprone/bugpatterns/StaticImportCheckTest.java | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/StaticImportCheck.java b/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/StaticImportCheck.java
index 8ab3e695..412bd38d 100644
--- a/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/StaticImportCheck.java
+++ b/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/StaticImportCheck.java
@@ -126,6 +126,7 @@ public final class StaticImportCheck extends BugChecker implements MemberSelectT
.put("java.time.ZoneOffset", "UTC")
.put("java.util.function.Function", "identity")
.put("java.util.function.Predicate", "not")
+ .put("java.util.UUID", "randomUUID")
.put("org.junit.jupiter.params.provider.Arguments", "arguments")
.putAll(
"java.util.Objects",
diff --git a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/StaticImportCheckTest.java b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/StaticImportCheckTest.java
index ba7edbb9..d1b2d1e4 100644
--- a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/StaticImportCheckTest.java
+++ b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/StaticImportCheckTest.java
@@ -50,6 +50,7 @@ public final class StaticImportCheckTest {
"import java.time.ZoneOffset;",
"import java.util.Optional;",
"import java.util.function.Predicate;",
+ "import java.util.UUID;",
"import org.springframework.boot.test.context.SpringBootTest;",
"import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;",
"import org.springframework.http.MediaType;",
@@ -83,6 +84,9 @@ public final class StaticImportCheckTest {
" Predicates.not(null);",
"",
" // BUG: Diagnostic contains:",
+ " UUID uuid = UUID.randomUUID();",
+ "",
+ " // BUG: Diagnostic contains:",
" Object o1 = StandardCharsets.UTF_8;",
" Object o2 = UTF_8;",
"",