New J2K: Add filtering local imports in ImportStatementConversion

This commit is contained in:
Ilya Kirillov
2018-12-05 14:06:24 +03:00
committed by Ilya Kirillov
parent d4077a1622
commit 0712db8bd3
@@ -21,13 +21,17 @@ class ImportStatementConversion : RecursiveApplicableConversionBase() {
if (element !is JKFile) return recurse(element) if (element !is JKFile) return recurse(element)
for (import in element.declarationList.collectImports()) { for (import in element.declarationList.collectImports()) {
if (!element.importList.containsImport(import)) { if (!element.importList.containsImport(import) && importIsInPacakge(import, packageName)) {
element.importList += JKImportStatementImpl(JKNameIdentifierImpl(import)) element.importList += JKImportStatementImpl(JKNameIdentifierImpl(import))
} }
} }
return recurse(element) return recurse(element)
} }
private fun importIsInPacakge(import: String, packageName: String) =
'.' !in import.substringAfter(packageName)
private fun List<JKImportStatement>.containsImport(import: String) = private fun List<JKImportStatement>.containsImport(import: String) =
asSequence() asSequence()
.map { it.name.value } .map { it.name.value }