KT-6834 Optimize Imports: do not modify file if import list had not change

#KT-6834 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-02-19 19:40:11 +03:00
parent b0d82bef7d
commit 862d391da6
4 changed files with 18 additions and 1 deletions
@@ -151,7 +151,8 @@ public class KotlinImportOptimizer() : ImportOptimizer {
val sortedImportsToGenerate = importsToGenerate.sortBy(importInsertHelper.importSortComparator)
//TODO: do not touch file if everything is already correct?
// check if no changes to imports required
if (oldImports.size() == sortedImportsToGenerate.size() && oldImports.map { it.getImportPath() } == sortedImportsToGenerate) return
ApplicationManager.getApplication()!!.runWriteAction(Runnable {
val importList = file.getImportList()!!
@@ -0,0 +1,5 @@
import java.util.ArrayList
// some comment
import java.util.HashSet
val v: HashSet<ArrayList<String>>
@@ -0,0 +1,5 @@
import java.util.ArrayList
// some comment
import java.util.HashSet
val v: HashSet<ArrayList<String>>
@@ -81,6 +81,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest {
doTest(fileName);
}
@TestMetadata("DoNotTouchIfNoChanges.kt")
public void testDoNotTouchIfNoChanges() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt");
doTest(fileName);
}
@TestMetadata("DuplicatedImports.kt")
public void testDuplicatedImports() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DuplicatedImports.kt");