Do not add import statement for java.lang classes when replacing fqn with import... idea/140.1706
authorYaroslav Lepenkin <yaroslav.lepenkin@jetbrains.com>
Wed, 14 Jan 2015 11:23:31 +0000 (13:23 +0200)
committerYaroslav Lepenkin <yaroslav.lepenkin@jetbrains.com>
Wed, 14 Jan 2015 11:28:59 +0000 (13:28 +0200)
java/java-tests/testSrc/com/intellij/codeInsight/intention/AddImportActionTest.groovy
plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ImportUtils.java

index e9722e1fc811c9c20e02e84d9c88be465bb5bbe2..73560b4e400b2b561248bb90a6ec721e9b2c8388 100644 (file)
@@ -289,12 +289,12 @@ class Test {
     assert !myFixture.filterAvailableIntentions("Import class")
   }
 
-  public void "test allow to add import from javadoc"() {
+    public void "test allow to add import from javadoc"() {
     myFixture.configureByText 'a.java', '''
 class Test {
 
   /**
-   * {@link java.lang.Ma<caret>th}
+   * {@link java.util.Ma<caret>p}
    */
   void run() {
   }
@@ -302,8 +302,32 @@ class Test {
 '''
     reimportClass()
     myFixture.checkResult '''\
-import java.lang.Math;
+import java.util.Map;
+
+class Test {
+
+  /**
+   * {@link Map}
+   */
+  void run() {
+  }
+}
+'''
+  }
 
+  public void "test do not add import for default package"() {
+    myFixture.configureByText 'a.java', '''
+class Test {
+
+  /**
+   * {@link java.lang.Ma<caret>th}
+   */
+  void run() {
+  }
+}
+'''
+    reimportClass()
+    myFixture.checkResult '''
 class Test {
 
   /**
index daad938e8156db7bd74eae5ed4925eaa39b8c889..960644cd3abf3e5c7c993bc8e41ee7a157f08af3 100644 (file)
@@ -60,6 +60,9 @@ public final class ImportUtils {
     }
     final String containingPackageName = javaFile.getPackageName();
     @NonNls final String packageName = ClassUtil.extractPackageName(qualifiedName);
+    if (CommonClassNames.DEFAULT_PACKAGE.equals(packageName)) {
+      return;
+    }
     if (containingPackageName.equals(packageName) || importList.findSingleClassImportStatement(qualifiedName) != null) {
       return;
     }