From e9957e1f4e8ed333034302dfec2a00d1193fde22 Mon Sep 17 00:00:00 2001
From: Pieter Dirk Soels
Date: Fri, 30 Sep 2022 18:44:21 +0200
Subject: [PATCH] Pass null for urlLink to Description.Builder
---
.../AnnotatedCompositeCodeTransformer.java | 35 ++++++++++---------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/refaster-compiler/src/main/java/tech/picnic/errorprone/refaster/plugin/AnnotatedCompositeCodeTransformer.java b/refaster-compiler/src/main/java/tech/picnic/errorprone/refaster/plugin/AnnotatedCompositeCodeTransformer.java
index 658ab289..ff4a1363 100644
--- a/refaster-compiler/src/main/java/tech/picnic/errorprone/refaster/plugin/AnnotatedCompositeCodeTransformer.java
+++ b/refaster-compiler/src/main/java/tech/picnic/errorprone/refaster/plugin/AnnotatedCompositeCodeTransformer.java
@@ -67,7 +67,7 @@ abstract class AnnotatedCompositeCodeTransformer implements CodeTransformer, Ser
return Description.builder(
description.position,
shortCheckName,
- getLinkPattern(delegate, shortCheckName),
+ getLinkPattern(delegate, shortCheckName).orElse(null),
overrideSeverity(getSeverity(delegate), context),
getDescription(delegate))
.addAllFixes(description.fixes)
@@ -89,14 +89,16 @@ abstract class AnnotatedCompositeCodeTransformer implements CodeTransformer, Ser
return fullCheckName.substring(prefix.length());
}
- private String getLinkPattern(CodeTransformer delegate, String checkName) {
- String urlPattern =
- getAnnotationValue(OnlineDocumentation.class, OnlineDocumentation::value, delegate, "");
-
+ private Optional getLinkPattern(CodeTransformer delegate, String checkName) {
Iterator nameComponents = CLASS_NAME_SPLITTER.splitToStream(checkName).iterator();
- return urlPattern
- .replace(TOP_LEVEL_CLASS_URL_PLACEHOLDER, nameComponents.next())
- .replace(NESTED_CLASS_URL_PLACEHOLDER, Iterators.getNext(nameComponents, ""));
+ return getAnnotationValue(OnlineDocumentation.class, OnlineDocumentation::value, delegate)
+ .map(
+ urlPattern ->
+ urlPattern.replace(TOP_LEVEL_CLASS_URL_PLACEHOLDER, nameComponents.next()))
+ .map(
+ urlPattern ->
+ urlPattern.replace(
+ NESTED_CLASS_URL_PLACEHOLDER, Iterators.getNext(nameComponents, "")));
}
private SeverityLevel getSeverity(CodeTransformer delegate) {
@@ -105,23 +107,22 @@ abstract class AnnotatedCompositeCodeTransformer implements CodeTransformer, Ser
* `tech.picnic.errorprone.refaster.runner.Refaster` bug checker. (The associated
* `RefasterTest#severityAssignment` test verifies this invariant.)
*/
- return getAnnotationValue(Severity.class, Severity::value, delegate, SUGGESTION);
+ return getAnnotationValue(Severity.class, Severity::value, delegate).orElse(SUGGESTION);
}
private String getDescription(CodeTransformer delegate) {
return getAnnotationValue(
- tech.picnic.errorprone.refaster.annotation.Description.class,
- tech.picnic.errorprone.refaster.annotation.Description::value,
- delegate,
- "Refactoring opportunity");
+ tech.picnic.errorprone.refaster.annotation.Description.class,
+ tech.picnic.errorprone.refaster.annotation.Description::value,
+ delegate)
+ .orElse("Refactoring opportunity");
}
- private T getAnnotationValue(
- Class annotation, Function extractor, CodeTransformer delegate, T defaultValue) {
+ private Optional getAnnotationValue(
+ Class annotation, Function extractor, CodeTransformer delegate) {
return getAnnotationValue(delegate, annotation)
.or(() -> getAnnotationValue(this, annotation))
- .map(extractor)
- .orElse(defaultValue);
+ .map(extractor);
}
private static Optional getAnnotationValue(