Fixed keeping of folded state for imports on optimize

This commit is contained in:
Valentin Kipyatkov
2015-02-17 17:21:21 +03:00
parent 480ddcb20e
commit 5c904b6a94
@@ -149,14 +149,17 @@ public class KotlinImportOptimizer() : ImportOptimizer {
//TODO: do not touch file if everything is already correct?
ApplicationManager.getApplication()!!.runWriteAction(Runnable {
for (import in file.getImportDirectives()) {
import.delete()
}
// remove old imports after adding new ones to keep imports folding state
val oldImports = file.getImportDirectives()
val importList = file.getImportList()!!
val psiFactory = JetPsiFactory(file.getProject())
for (importPath in sortedImportsToGenerate) {
importList.add(psiFactory.createImportDirective(importPath))
importList.addBefore(psiFactory.createImportDirective(importPath), oldImports.lastOrNull()) // insert into the middle to keep collapsed state
}
for (import in oldImports) {
import.delete()
}
})
}