diff --git a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java index c158c11553f..f27d3e5404e 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java @@ -49,15 +49,12 @@ public class JetClassInsertHandler implements InsertHandler { } if (context.getFile() instanceof JetFile && item.getObject() instanceof JetLookupObject) { - final DeclarationDescriptor descriptor = ((JetLookupObject) item.getObject()).getDescriptor(); - if (descriptor != null) { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - final FqName fqn = DescriptorUtils.getFQName(descriptor).toSafe(); - ImportInsertHelper.addImportDirective(fqn, jetFile); - } - }); + JetLookupObject lookupObject = (JetLookupObject)item.getObject(); + final DeclarationDescriptor descriptor = lookupObject.getDescriptor(); + PsiElement targetElement = lookupObject.getPsiElement(); + if (descriptor != null && targetElement != null) { + final FqName fqn = DescriptorUtils.getFQName(descriptor).toSafe(); + ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement); } } } diff --git a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetJavaClassInsertHandler.java b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetJavaClassInsertHandler.java index c4737481e07..6607e1daa7b 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetJavaClassInsertHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetJavaClassInsertHandler.java @@ -35,8 +35,10 @@ public class JetJavaClassInsertHandler implements InsertHandler