cleanup
[idea/community.git] / java / java-impl / src / com / intellij / codeInsight / lookup / PsiTypeLookupItem.java
index 47fca85f1d6ad3d0e4bae4486eed0380ca00fbac..9373ca35675136cec2ced563c6638ad6e46a6136 100644 (file)
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.ScrollType;
 import com.intellij.openapi.util.ClassConditionKey;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.psi.*;
+import com.intellij.psi.impl.source.PostprocessReformattingAspect;
 import com.intellij.psi.impl.source.PsiClassReferenceType;
 import com.intellij.psi.util.PsiUtil;
 import org.jetbrains.annotations.NonNls;
@@ -72,7 +73,9 @@ public class PsiTypeLookupItem extends LookupItem {
   public void handleInsert(InsertionContext context) {
     PsiElement position = context.getFile().findElementAt(context.getStartOffset());
     assert position != null;
-    DefaultInsertHandler.addImportForItem(context, this);
+    if (getObject() instanceof PsiClass) {
+      addImportForItem(context, (PsiClass)getObject());
+    }
     context.getDocument().insertString(context.getTailOffset(), calcGenerics(position));
     JavaCompletionUtil.shortenReference(context.getFile(), context.getStartOffset());
 
@@ -223,4 +226,13 @@ public class PsiTypeLookupItem extends LookupItem {
       }
     }
   }
+
+  public static void addImportForItem(InsertionContext context, PsiClass aClass) {
+    if (aClass.getQualifiedName() == null) return;
+    PsiFile file = context.getFile();
+    int newTail = JavaCompletionUtil.insertClassReference(aClass, file, context.getStartOffset(), context.getTailOffset());
+    context.setTailOffset(newTail);
+    PostprocessReformattingAspect.getInstance(context.getProject()).doPostponedFormatting();
+    JavaCompletionUtil.shortenReference(file, context.getStartOffset());
+  }
 }