DO_NOT_MERGE: Mark the remaining parts of the KLIB resolver
diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/KotlinLibraryResolver.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/KotlinLibraryResolver.kt
index 633a65f..ffc147b 100644
--- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/KotlinLibraryResolver.kt
+++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/KotlinLibraryResolver.kt
@@ -6,6 +6,7 @@
 import org.jetbrains.kotlin.library.UnresolvedLibrary
 import org.jetbrains.kotlin.library.metadata.PackageAccessHandler
 
+// TODO: drop this as a part of KLIB resolver (+)
 interface KotlinLibraryResolver<L : KotlinLibrary> {
 
     val searchPathResolver: SearchPathResolver<L>
@@ -55,6 +56,7 @@
     fun List<KotlinLibrary>.resolveDependencies(): KotlinLibraryResolveResult
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 interface KotlinLibraryResolveResult {
 
     fun filterRoots(predicate: (KotlinResolvedLibrary) -> Boolean): KotlinLibraryResolveResult
@@ -66,8 +68,10 @@
 }
 
 
+// TODO: drop this as a part of KLIB resolver (+)
 typealias LibraryOrder = (Iterable<KotlinResolvedLibrary>) -> List<KotlinResolvedLibrary>
 
+// TODO: drop this as a part of KLIB resolver (+)
 val TopologicalLibraryOrder: LibraryOrder = { input ->
     val sorted = mutableListOf<KotlinResolvedLibrary>()
     val visited = mutableSetOf<KotlinResolvedLibrary>()
diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/impl/KotlinLibraryResolverImpl.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/impl/KotlinLibraryResolverImpl.kt
index 3c9c420..46436b7 100644
--- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/impl/KotlinLibraryResolverImpl.kt
+++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/resolver/impl/KotlinLibraryResolverImpl.kt
@@ -25,9 +25,11 @@
 import org.jetbrains.kotlin.library.metadata.resolver.LibraryOrder
 import org.jetbrains.kotlin.util.WithLogger
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun <L : KotlinLibrary> SearchPathResolver<L>.libraryResolver(resolveManifestDependenciesLenient: Boolean = false) =
     KotlinLibraryResolverImpl<L>(this, resolveManifestDependenciesLenient)
 
+// TODO: drop this as a part of KLIB resolver (+)
 class KotlinLibraryResolverImpl<L : KotlinLibrary> internal constructor(
     override val searchPathResolver: SearchPathResolver<L>,
     val resolveManifestDependenciesLenient: Boolean,
@@ -155,6 +157,7 @@
     }
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 class KotlinLibraryResolverResultImpl(
     private val roots: List<KotlinResolvedLibrary>,
 ) : KotlinLibraryResolveResult {
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt
index 7b14274..17e2683 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt
@@ -16,6 +16,7 @@
 const val KOTLIN_WASM_STDLIB_NAME: String = "kotlin"
 const val KOTLINTEST_MODULE_NAME: String = "kotlin-test"
 
+// TODO: drop this as a part of KLIB resolver (+)
 interface SearchPathResolver<L : KotlinLibrary> : WithLogger {
     /**
      * The search root for KLIBs.
@@ -106,12 +107,14 @@
     fun isProvidedByDefault(unresolved: UnresolvedLibrary): Boolean = false
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun <L : KotlinLibrary> SearchPathResolver<L>.resolve(unresolved: UnresolvedLibrary): L? = when (unresolved) {
     is LenientUnresolvedLibrary -> resolve(unresolved)
     is RequiredUnresolvedLibrary -> resolve(unresolved)
 }
 
 // This is a simple library resolver that only cares for file names.
+// TODO: drop this as a part of KLIB resolver (+)
 abstract class KotlinLibrarySearchPathResolver<L : KotlinLibrary>(
     directLibs: List<String>,
     val distributionKlib: String?,
@@ -285,6 +288,7 @@
 // This is a library resolver aware of attributes shared between platforms,
 // such as abi version.
 // JS and Native resolvers are inherited from this one.
+// TODO: drop this as a part of KLIB resolver (+)
 abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
     directLibs: List<String>,
     distributionKlib: String?,
@@ -336,6 +340,7 @@
     }
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 class SingleKlibComponentResolver(
     klibFile: String,
     logger: Logger,
@@ -361,6 +366,7 @@
  *
  * Typical usage scenario: compiler.
  */
+// TODO: drop this as a part of KLIB resolver (+)
 object CompilerSingleFileKlibResolveStrategy : SingleFileKlibResolveStrategy {
     override fun resolve(libraryFile: File, logger: Logger) =
         SingleKlibComponentResolver(
@@ -375,6 +381,8 @@
 // TODO: It looks like a hack because it is.
 //  The reason this strategy exists is that we shouldn't skip Native metadata-based interop libraries
 //  when generating compiler caches.
+//
+// TODO: drop this as a part of KLIB resolver (+)
 class CompilerSingleFileKlibResolveAllowingIrProvidersStrategy(
     private val knownIrProviders: List<String>
 ) : SingleFileKlibResolveStrategy {
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/SingleFileResolve.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/SingleFileResolve.kt
index e07cc41..91ddf14 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/SingleFileResolve.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/SingleFileResolve.kt
@@ -9,10 +9,12 @@
 import org.jetbrains.kotlin.util.DummyLogger
 import org.jetbrains.kotlin.util.Logger
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun interface SingleFileKlibResolveStrategy {
     fun resolve(libraryFile: File, logger: Logger): KotlinLibrary
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun resolveSingleFileKlib(
     libraryFile: File,
     logger: Logger = DummyLogger,
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/ToolingResolve.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/ToolingResolve.kt
index 43d1591..8912892 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/ToolingResolve.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/ToolingResolve.kt
@@ -25,6 +25,7 @@
  *
  * Typical usage scenario: IDE.
  */
+// TODO: drop this as a part of KLIB resolver (+)
 object ToolingSingleFileKlibResolveStrategy : SingleFileKlibResolveStrategy {
     override fun resolve(libraryFile: File, logger: Logger): KotlinLibrary =
         tryResolve(libraryFile, logger)
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/UnresolvedLibrary.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/UnresolvedLibrary.kt
index b9d990e..63812bf 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/UnresolvedLibrary.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/UnresolvedLibrary.kt
@@ -2,6 +2,7 @@
 
 package org.jetbrains.kotlin.library
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun UnresolvedLibrary(path: String, lenient: Boolean): UnresolvedLibrary =
     if (lenient) LenientUnresolvedLibrary(path) else RequiredUnresolvedLibrary(path)
 
@@ -14,10 +15,13 @@
  * - In general, `unique_name` needs not be equal to the file name of the library. And this adds some mess to the classes
  *   that implement the "resolver" logic, e.g. [SearchPathResolver].
  */
+// TODO: drop this as a part of KLIB resolver (+)
 sealed class UnresolvedLibrary {
     abstract val path: String
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 data class RequiredUnresolvedLibrary(override val path: String) : UnresolvedLibrary()
 
+// TODO: drop this as a part of KLIB resolver (+)
 data class LenientUnresolvedLibrary(override val path: String) : UnresolvedLibrary()
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
index 6897920..6795648 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
@@ -231,6 +231,7 @@
     return KotlinLibraryImpl(base, metadata, ir)
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun createKotlinLibraryComponents(
     libraryFile: File,
     isDefault: Boolean = true,
@@ -243,6 +244,7 @@
     }
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun isKotlinLibrary(libraryFile: File): Boolean = try {
     val libraryPath = libraryFile.absolutePath
 
@@ -269,5 +271,6 @@
     false
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun isKotlinLibrary(libraryFile: java.io.File): Boolean =
     isKotlinLibrary(File(libraryFile.absolutePath))
diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLibrariesResolveSupport.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLibrariesResolveSupport.kt
index ebe4aac..14401e8 100644
--- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLibrariesResolveSupport.kt
+++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLibrariesResolveSupport.kt
@@ -18,6 +18,7 @@
 import org.jetbrains.kotlin.library.toUnresolvedLibraries
 import org.jetbrains.kotlin.library.validateNoLibrariesWerePassedViaCliByUniqueName
 
+// TODO: drop this as a part of KLIB resolver (+)
 class KonanLibrariesResolveSupport(
         configuration: CompilerConfiguration,
         target: KonanTarget,
diff --git a/kotlin-native/klib/src/org/jetbrains/kotlin/cli/klib/KlibToolSearchPathResolver.kt b/kotlin-native/klib/src/org/jetbrains/kotlin/cli/klib/KlibToolSearchPathResolver.kt
index 74c8449..f20027c 100644
--- a/kotlin-native/klib/src/org/jetbrains/kotlin/cli/klib/KlibToolSearchPathResolver.kt
+++ b/kotlin-native/klib/src/org/jetbrains/kotlin/cli/klib/KlibToolSearchPathResolver.kt
@@ -10,6 +10,7 @@
 import org.jetbrains.kotlin.library.KotlinLibrary
 import org.jetbrains.kotlin.library.KotlinLibrarySearchPathResolver
 
+// TODO: drop this as a part of KLIB resolver (+)
 internal fun klibResolver(
     distributionKlib: String?,
     skipCurrentDir: Boolean,
diff --git a/native/utils/src/org/jetbrains/kotlin/konan/library/SearchPathResolver.kt b/native/utils/src/org/jetbrains/kotlin/konan/library/SearchPathResolver.kt
index 5431512..d16df11 100644
--- a/native/utils/src/org/jetbrains/kotlin/konan/library/SearchPathResolver.kt
+++ b/native/utils/src/org/jetbrains/kotlin/konan/library/SearchPathResolver.kt
@@ -8,10 +8,12 @@
 import org.jetbrains.kotlin.util.DummyLogger
 import org.jetbrains.kotlin.util.Logger
 
+// TODO: drop this as a part of KLIB resolver (+)
 interface SearchPathResolverWithTarget<L : KotlinLibrary> : SearchPathResolver<L> {
     val target: KonanTarget
 }
 
+// TODO: drop this as a part of KLIB resolver (+)
 fun defaultResolver(
     directLibs: List<String>,
     target: KonanTarget,
@@ -26,6 +28,7 @@
     logger = logger
 )
 
+// TODO: drop this as a part of KLIB resolver (+)
 class KonanLibraryProperResolver(
     directLibs: List<String>,
     override val target: KonanTarget,