diff --git a/.ci/files/all-java.xml b/.ci/files/all-java.xml index 9a2ae34ab4..c67bcd4b12 100644 --- a/.ci/files/all-java.xml +++ b/.ci/files/all-java.xml @@ -48,7 +48,6 @@ - @@ -76,8 +75,6 @@ - - @@ -109,6 +106,7 @@ + @@ -229,7 +227,6 @@ - diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsRule.java deleted file mode 100644 index b5ae982234..0000000000 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsRule.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.bestpractices; - -import java.util.HashSet; -import java.util.Set; - -import net.sourceforge.pmd.lang.java.ast.internal.ImportWrapper; -import net.sourceforge.pmd.lang.java.rule.codestyle.UnnecessaryImportRule; - -@Deprecated -public class UnusedImportsRule extends UnnecessaryImportRule { - // Note: when removing this from pmd 7, the compiled classes used - // for tests need to be moved to test/java/.../codestyle/unnecessaryimport - - @Deprecated - protected Set imports = new HashSet<>(); - - @Override - protected boolean justReportUnusedImports() { - return true; - } -} diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java deleted file mode 100644 index 715f2ab4e0..0000000000 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsRule.java +++ /dev/null @@ -1,117 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.codestyle; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.HashSet; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit; -import net.sourceforge.pmd.lang.java.ast.ASTImportDeclaration; -import net.sourceforge.pmd.lang.java.ast.internal.ImportWrapper; -import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; - -@Deprecated -public class DuplicateImportsRule extends AbstractJavaRule { - private static final Logger LOG = Logger.getLogger(DuplicateImportsRule.class.getName()); - - private Set singleTypeImports; - private Set importOnDemandImports; - - @Override - public Object visit(ASTCompilationUnit node, Object data) { - singleTypeImports = new HashSet<>(); - importOnDemandImports = new HashSet<>(); - super.visit(node, data); - - // this checks for things like: - // import java.io.*; - // import java.io.File; - for (ImportWrapper thisImportOnDemand : importOnDemandImports) { - for (ImportWrapper thisSingleTypeImport : singleTypeImports) { - String singleTypeFullName = thisSingleTypeImport.getFullName(); // java.io.File - - String singleTypePkg = thisSingleTypeImport.getPackageName(); // java.io - String singleTypeName = thisSingleTypeImport.getName(); // File - - if (thisImportOnDemand.getFullName().equals(singleTypePkg) - && !isDisambiguationImport(node, singleTypePkg, singleTypeName)) { - addViolation(data, thisSingleTypeImport.getNode(), singleTypeFullName); - } - } - } - singleTypeImports.clear(); - importOnDemandImports.clear(); - return data; - } - - /** - * Check whether this seemingly duplicate import is actually a - * disambiguation import. - * - * Example: import java.awt.*; import java.util.*; import java.util.List; - * //Needed because java.awt.List exists - */ - private boolean isDisambiguationImport(ASTCompilationUnit node, String singleTypePkg, String singleTypeName) { - // Loop over .* imports - for (ImportWrapper thisImportOnDemand : importOnDemandImports) { - // Skip same package - if (!thisImportOnDemand.getFullName().equals(singleTypePkg)) { - if (!thisImportOnDemand.isStaticOnDemand()) { - String fullyQualifiedClassName = thisImportOnDemand.getFullName() + "." + singleTypeName; - if (node.getClassTypeResolver().classNameExists(fullyQualifiedClassName)) { - // Class exists in another imported package - return true; - } - } else { - Class importClass = node.getClassTypeResolver().loadClassOrNull(thisImportOnDemand.getFullName()); - if (importClass != null) { - try { - for (Method m : importClass.getMethods()) { - if (Modifier.isStatic(m.getModifiers()) && m.getName().equals(singleTypeName)) { - // static method in another imported class - return true; - } - } - } catch (LinkageError e) { - // This is an incomplete classpath, report the missing class - LOG.log(Level.FINE, "Possible incomplete auxclasspath: Error while processing methods", e); - } - } - } - } - } - - String fullyQualifiedClassName = "java.lang." + singleTypeName; - // Class might exist in another imported package - return node.getClassTypeResolver().classNameExists(fullyQualifiedClassName); - } - - @Override - public Object visit(ASTImportDeclaration node, Object data) { - ImportWrapper wrapper = new ImportWrapper(node); - - // blahhhh... this really wants to be ASTImportDeclaration to be - // polymorphic... - if (node.isImportOnDemand()) { - if (importOnDemandImports.contains(wrapper)) { - addViolation(data, node, node.getImportedName()); - } else { - importOnDemandImports.add(wrapper); - } - } else { - if (singleTypeImports.contains(wrapper)) { - addViolation(data, node, node.getImportedName()); - } else { - singleTypeImports.add(wrapper); - } - } - return data; - } - -} diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryImportRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryImportRule.java index a311692615..b6ee15bfbb 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryImportRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryImportRule.java @@ -28,7 +28,6 @@ import net.sourceforge.pmd.lang.java.ast.TypeNode; import net.sourceforge.pmd.lang.java.ast.internal.ImportWrapper; import net.sourceforge.pmd.lang.java.ast.internal.PrettyPrintingUtil; import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; -import net.sourceforge.pmd.lang.java.rule.bestpractices.UnusedImportsRule; public class UnnecessaryImportRule extends AbstractJavaRule { // todo: java lang imports may be necessary if they're shadowed by a @@ -64,10 +63,6 @@ public class UnnecessaryImportRule extends AbstractJavaRule { private static final Pattern[] PATTERNS = { SEE_PATTERN, LINK_PATTERNS, VALUE_PATTERN, THROWS_PATTERN }; - /** - * The deprecated rule {@link UnusedImportsRule} extends this class - * and overrides this. - */ protected boolean justReportUnusedImports() { return false; } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageRule.java deleted file mode 100644 index 81c56e5bbb..0000000000 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageRule.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.errorprone; - -import org.apache.commons.lang3.StringUtils; - -import net.sourceforge.pmd.lang.java.ast.ASTImportDeclaration; -import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule; -import net.sourceforge.pmd.lang.java.symboltable.SourceFileScope; - -@Deprecated -public class ImportFromSamePackageRule extends AbstractJavaRule { - - @Override - public Object visit(ASTImportDeclaration importDecl, Object data) { - String packageName = importDecl.getScope().getEnclosingScope(SourceFileScope.class).getPackageName(); - - if (packageName != null && packageName.equals(importDecl.getPackageName())) { - addViolation(data, importDecl); - } - - // special case - if (packageName == null && StringUtils.isBlank(importDecl.getPackageName())) { - addViolation(data, importDecl); - } - return data; - } -} diff --git a/pmd-java/src/main/resources/category/java/bestpractices.xml b/pmd-java/src/main/resources/category/java/bestpractices.xml index f5a012eba4..5da98c4f20 100644 --- a/pmd-java/src/main/resources/category/java/bestpractices.xml +++ b/pmd-java/src/main/resources/category/java/bestpractices.xml @@ -1412,32 +1412,6 @@ public class Foo { - - -Reports import statements that are not used within the file. This also reports -duplicate imports, and imports from the same package. The simplest fix is just -to delete those imports. - -This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %} -from category codestyle instead. - - 4 - - - - - - - -Avoid importing anything from the package 'java.lang'. These classes are automatically imported (JLS 7.5.3). - -This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %} -from category codestyle instead. - - 4 - - - - - - - - - - - - - -Duplicate or overlapping import statements should be avoided. - -This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %} -from category codestyle instead. - - 4 - - - - - - - -There is no need to import a type that lives in the same package. - -This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %} -from category codestyle instead. - - 3 - - - - - - + - + - - + + diff --git a/pmd-java/src/main/resources/rulesets/java/typeresolution.xml b/pmd-java/src/main/resources/rulesets/java/typeresolution.xml index c10136bd72..5e84da61b8 100644 --- a/pmd-java/src/main/resources/rulesets/java/typeresolution.xml +++ b/pmd-java/src/main/resources/rulesets/java/typeresolution.xml @@ -12,7 +12,7 @@ directly and don't use this ruleset anymore. - + diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsTest.java deleted file mode 100644 index 5ab74f8089..0000000000 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/UnusedImportsTest.java +++ /dev/null @@ -1,12 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.bestpractices; - -import net.sourceforge.pmd.testframework.PmdRuleTst; - -@org.junit.Ignore("Rule has not been updated yet") -public class UnusedImportsTest extends PmdRuleTst { - // no additional unit tests -} diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DontImportJavaLangTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DontImportJavaLangTest.java deleted file mode 100644 index 5c0060bcba..0000000000 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DontImportJavaLangTest.java +++ /dev/null @@ -1,11 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.codestyle; - -import net.sourceforge.pmd.testframework.PmdRuleTst; - -public class DontImportJavaLangTest extends PmdRuleTst { - // no additional unit tests -} diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsTest.java deleted file mode 100644 index f0d88fa6a0..0000000000 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/DuplicateImportsTest.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.codestyle; - -import net.sourceforge.pmd.testframework.PmdRuleTst; - -@org.junit.Ignore("Rule has not been updated yet") -public class DuplicateImportsTest extends PmdRuleTst { - /** - * This is just for testing DuplicateImports for static imports and - * disambiguation. - */ - // Do not delete this method, its needed for a test case - // see: - // /pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DuplicateImports.xml - // #1306 False positive on duplicate when using static imports - public static void assertTrue(String message, boolean condition) { - if (!condition) { - System.out.println(message); - } - } -} diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithConstants.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithConstants.java similarity index 83% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithConstants.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithConstants.java index 5938d2aa0a..0c845f84d5 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithConstants.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithConstants.java @@ -1,8 +1,8 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; import java.util.Arrays; import java.util.List; diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithStringConstants.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithStringConstants.java similarity index 79% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithStringConstants.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithStringConstants.java index 329b6059b3..7401c9cec2 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/ClassWithStringConstants.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/ClassWithStringConstants.java @@ -1,8 +1,8 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; public class ClassWithStringConstants { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Hello.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Hello.java similarity index 70% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Hello.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Hello.java index b5332b2b99..1352a84af5 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Hello.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Hello.java @@ -2,7 +2,7 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; abstract class Hello { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/HelloMore.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/HelloMore.java similarity index 65% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/HelloMore.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/HelloMore.java index a182d08a43..c638419c9f 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/HelloMore.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/HelloMore.java @@ -2,7 +2,7 @@ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; class HelloMore extends Hello { // ... diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Issue2016.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Issue2016.java similarity index 82% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Issue2016.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Issue2016.java index c2e40c93d6..fbf7fac4e6 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/Issue2016.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/Issue2016.java @@ -1,8 +1,8 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; import java.util.Objects; diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PackagePrivateUtils.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PackagePrivateUtils.java similarity index 81% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PackagePrivateUtils.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PackagePrivateUtils.java index b9dee82b8c..bc8bd167ea 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PackagePrivateUtils.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PackagePrivateUtils.java @@ -1,8 +1,8 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; final class PackagePrivateUtils { private PackagePrivateUtils() { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PublicUtils.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PublicUtils.java similarity index 81% rename from pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PublicUtils.java rename to pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PublicUtils.java index 003aeae7a3..aa2ce71003 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/bestpractices/unusedimports/PublicUtils.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/codestyle/unnecessaryimport/PublicUtils.java @@ -1,8 +1,8 @@ -/** +/* * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ -package net.sourceforge.pmd.lang.java.rule.bestpractices.unusedimports; +package net.sourceforge.pmd.lang.java.rule.codestyle.unnecessaryimport; public class PublicUtils { private PublicUtils() { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageTest.java deleted file mode 100644 index 96ea8ba174..0000000000 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/errorprone/ImportFromSamePackageTest.java +++ /dev/null @@ -1,12 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.rule.errorprone; - -import net.sourceforge.pmd.testframework.PmdRuleTst; - -@org.junit.Ignore("Rule has not been updated yet") -public class ImportFromSamePackageTest extends PmdRuleTst { - // no additional unit tests -} diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedImports.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedImports.xml deleted file mode 100644 index eee38f82fd..0000000000 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/bestpractices/xml/UnusedImports.xml +++ /dev/null @@ -1,584 +0,0 @@ - - - - - simple unused single type import - 1 - - - - - one used single type import - 0 - - - - - 2 unused single-type imports - 2 - - - - - 1 used single type import - 0 - - - - - 1 import stmt, used only in throws clause - 0 - - - - - for loop - 0 - - - - - Generics - 0 - x = new ArrayList(); -} - ]]> - - - - Generics 2 - 0 - x = new ArrayList(); -} - ]]> - - - - Annotations - 0 - - - - - Annotations 2 - 0 - - - - - import from default package - 0 - - - - - import from default package - 1 - - - - - Used static import - 0 - - - - - Unused static import - 1 - - - - - On demand import - 0 - - - - - imports used in javadoc comment, see also bug #254 - 0 - - - - - #1280 False Positive in UnusedImports when import used in javadoc - 0 - - - - - #1720 False Positive in UnusedImports for Javadoc link with array type - 0 - - - - - Bug 2606609 : False "UnusedImports" positive in package-info.java - 0 - - - - - bug #254 False+ : UnusedImport with Javadoc @link - 0 - - - - - #1181 unused import false positive if used as parameter in javadoc only. - 0 - - - - - #1280 False Positive in UnusedImports when import used in javadoc - 0 - - - - - #914 False +ve from UnusedImports with wildcard static imports - 0 - - - - - #1465 False Positve UnusedImports with javadoc @link - 0 - - * An agent is active if it has not posted a {@link AgentStateChangeEvent} containing {@link AgentState#TERMINATED}. - * - * @return agent handles. - * @see OtherState#TERMINATED - */ - Iterable getAgentHandles(); -} - ]]> - - - - #1547 False Positve UnusedImports with javadoc for identifiers with underscores - 0 - - - - - #348 False Positive UnusedImports with javadoc for public static inner classes of imports - 0 - - - - - #925 [java] UnusedImports false positive for static import - 0 - - - - - #1404 [java] UnusedImports false positive for static import - 0 - - - - - #1209 [java] UnusedImports false positive for static import with package-private method usage - 0 - - - - - #1625 [java] UnusedImports false positive for method parameter type in @see Javadoc - 0 - - - - - #1720 False Positive in UnusedImports for Javadoc @see with array type - 0 - - - - - #2025 False Positive in UnusedImports for params when using @see with FQCN - 0 - - - - - #2025 False Positive in UnusedImports for params when using @link with FQCN - 0 - - - - - #2016 [java] UnusedImports: False positive if wildcard is used and only static methods - 0 - - - - - resolve ambiguous static on-demand imports (#2277) - 0 - - - - - [java] UnusedImports with static imports on subclasses #3132 - 0 - - - - - NPE with static import on interface - 1 - - - diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DontImportJavaLang.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DontImportJavaLang.xml deleted file mode 100644 index 5c49393dab..0000000000 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DontImportJavaLang.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - import java.lang.String - 1 - - - - - import java.lang.* - 1 - - - - - import java.lang.ref/reflect/annotation/instrument/management - 0 - - - - - Static Java imports are OK - 0 - - - - - Importing java.lang.Thread.UncaughtExceptionHandler - 0 - - - - - import java.lang.ProcessBuilder.Redirect: #1031 false DontImportJavaLang - 0 - - - - - import java.lang.invoke.MethodHandles: #339 false DontImportJavaLang - 0 - - - diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DuplicateImports.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DuplicateImports.xml deleted file mode 100644 index 66504081f2..0000000000 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/DuplicateImports.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - duplicate single type imports - 1 - - - - - duplicate wildcard imports - 1 - - - - - single type import after wildcard import - 1 - - - - - subpackage import, ok - 0 - - - - - 674394, disambiguation import should be allowed - 0 - - - - - 674394, disambiguation import because of conflict with java.lang - 0 - - - - - #1306 False positive on duplicate when using static imports - 0 - - - - - negative case - static on-demand imports - 1 - 2 - - - - - [java] DuplicateImports reported for the same import... and import static... #2546 - 0 - - - diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryImport.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryImport.xml index 56d86c23cf..523da5b0e1 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryImport.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/codestyle/xml/UnnecessaryImport.xml @@ -409,61 +409,62 @@ public class Foo { #925 [java] UnusedImports false positive for static import 0 + public static void main(String[] args) { + System.out.println("List 1: " + LIST1); + System.out.println("List 2: " + LIST2); + } + } + ]]> #1404 [java] UnusedImports false positive for static import 0 + public static void main(String[] args) { + if (CONST1.equals("a")) { + System.out.println("CONST1 is a"); + } + } + } + ]]> #1209 [java] UnusedImports false positive for static import with package-private method usage 0 + public class Imports { + + int importtest() { + int i = 0; + i = f1(i); + i = g1(i); + i = f2(i); + i = g2(i); + i = f3(i); + i = g3(i); + return i; + } + } + ]]> diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ImportFromSamePackage.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ImportFromSamePackage.xml deleted file mode 100644 index e3a0e78749..0000000000 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/ImportFromSamePackage.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - simple failure - 1 - - - - - class in default package importing from sub package - 0 - - - - - class in default package importing from other package - 0 - - - - - class not in default package importing from default package - 0 - - - - - class in default package importing from default package - 1 - - - - - importing from subpackage - 0 - - - - - importing all from same package - 1 - - -