diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt index 82116c83fe1..59ddb87fa17 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt @@ -60,10 +60,11 @@ class LibraryReaderImpl(var libraryFile: File, val currentAbiVersion: Int, get() = manifestProperties.propertyString("unique_name")!! override val bitcodePaths: List - get() = (realFiles.kotlinDir.listFiles + realFiles.nativeDir.listFiles).map{it.absolutePath} + get() = (realFiles.kotlinDir.listFilesOrEmpty + realFiles.nativeDir.listFilesOrEmpty) + .map { it.absolutePath } override val includedPaths: List - get() = (realFiles.includedDir.listFiles).map{it.absolutePath} + get() = (realFiles.includedDir.listFilesOrEmpty).map { it.absolutePath } override val linkerOpts: List get() = manifestProperties.propertyList("linkerOpts", target!!.visibleName) diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt index 027fe21109a..0ac8b870395 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt @@ -52,6 +52,8 @@ data class File constructor(internal val javaPath: Path) { get() = javaPath.isAbsolute() val listFiles: List get() = Files.newDirectoryStream(javaPath).use { stream -> stream.map { File(it) } } + val listFilesOrEmpty: List + get() = if (exists) listFiles else emptyList() fun child(name: String) = File(this, name)