Closed
Description
Consider the following code:
@com.google.errorprone.annotations.CheckReturnValue
package foo;
Applying the UnnecessarilyFullyQualified
check to this code:
wget \
https://repo1.maven.org/maven2/com/google/errorprone/error_prone_core/2.4.0/error_prone_core-2.4.0-with-dependencies.jar
wget \
https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar
javac \
-XDcompilePolicy=simple \
-processorpath error_prone_core-2.4.0-with-dependencies.jar \
'-Xplugin:ErrorProne -XepPatchChecks:UnnecessarilyFullyQualified -XepPatchLocation:/tmp' \
-cp error_prone_annotations-2.4.0.jar \
foo/package-info.java
This yields:
--- /tmp/foo/package-info.java
+++ /tmp/foo/package-info.java
@@ -1,3 +1,5 @@
-@com.google.errorprone.annotations.CheckReturnValue
+@CheckReturnValue
package foo;
+import com.google.errorprone.annotations.CheckReturnValue;
+
In the case of package-level annotations, single-use fully qualified types arguably result in more straightforward code, as otherwise the type is used before it is imported.
(In case a type is referenced multiple times (perhaps in a nested annotation or Javadoc), I guess importing does make sense. 🤔 )
Metadata
Metadata
Assignees
Labels
No labels
Activity
Don't make `UnnecessarilyFullyQualified` suggestions in `package-info`s
UnnecessarilyFullyQualified
suggestions inpackage-info
s #2078Don't make `UnnecessarilyFullyQualified` suggestions in `package-info`s
Don't make `UnnecessarilyFullyQualified` suggestions in `package-info`s
Don't make `UnnecessarilyFullyQualified` suggestions in `package-info`s
package-info.java
identification on Windows #2404Fix `package-info.java` identification on Windows