Make work inserting fqnames for js lib classes

This commit is contained in:
Nikolay Krasko
2012-06-08 12:48:57 +04:00
parent bd068b750c
commit 9987a7f554
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.completion.JetLookupObject;
import org.jetbrains.jet.plugin.project.JsModuleDetector;
import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper;
/**
@@ -52,9 +53,16 @@ public class JetClassInsertHandler implements InsertHandler<LookupElement> {
JetLookupObject lookupObject = (JetLookupObject)item.getObject();
final DeclarationDescriptor descriptor = lookupObject.getDescriptor();
PsiElement targetElement = lookupObject.getPsiElement();
if (descriptor != null && targetElement != null) {
if (descriptor != null) {
final FqName fqn = DescriptorUtils.getFQName(descriptor).toSafe();
ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement);
// TODO: Find out the way for getting psi element for JS libs
if (targetElement != null) {
ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement);
}
else if (JsModuleDetector.isJsModule(jetFile)) {
ImportInsertHelper.addImportDirective(fqn, jetFile);
}
}
}
}