Make work inserting fqnames for js lib classes
This commit is contained in:
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.psi.JetFile;
|
|||||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.plugin.completion.JetLookupObject;
|
import org.jetbrains.jet.plugin.completion.JetLookupObject;
|
||||||
|
import org.jetbrains.jet.plugin.project.JsModuleDetector;
|
||||||
import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper;
|
import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,9 +53,16 @@ public class JetClassInsertHandler implements InsertHandler<LookupElement> {
|
|||||||
JetLookupObject lookupObject = (JetLookupObject)item.getObject();
|
JetLookupObject lookupObject = (JetLookupObject)item.getObject();
|
||||||
final DeclarationDescriptor descriptor = lookupObject.getDescriptor();
|
final DeclarationDescriptor descriptor = lookupObject.getDescriptor();
|
||||||
PsiElement targetElement = lookupObject.getPsiElement();
|
PsiElement targetElement = lookupObject.getPsiElement();
|
||||||
if (descriptor != null && targetElement != null) {
|
if (descriptor != null) {
|
||||||
final FqName fqn = DescriptorUtils.getFQName(descriptor).toSafe();
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user