IDE. Allow expect declarations in completion in shared native modules
Issue #KMM-218
This commit is contained in:
@@ -84,7 +84,15 @@ interface TargetPlatformVersion {
|
||||
}
|
||||
}
|
||||
|
||||
fun TargetPlatform?.isCommon(): Boolean = this != null && size > 1 && iterator().let { i ->
|
||||
/**
|
||||
* Whether this is a [TargetPlatform] that targets multiple [SimplePlatform]s.
|
||||
*/
|
||||
fun TargetPlatform?.isMultiPlatform(): Boolean = this != null && size > 1
|
||||
|
||||
/**
|
||||
* Whether this is "Common" platform in its classical sense (MPP v1).
|
||||
*/
|
||||
fun TargetPlatform?.isCommon(): Boolean = isMultiPlatform() && this!!.iterator().let { i ->
|
||||
val firstPlatformName = i.next().platformName
|
||||
while (i.hasNext()) {
|
||||
if (i.next().platformName != firstPlatformName) return@let true
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
||||
import org.jetbrains.kotlin.idea.references.mainReference
|
||||
import org.jetbrains.kotlin.idea.util.*
|
||||
import org.jetbrains.kotlin.platform.isCommon
|
||||
import org.jetbrains.kotlin.platform.isMultiPlatform
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
@@ -151,7 +151,7 @@ abstract class CompletionSession(
|
||||
{ CompletionBenchmarkSink.instance.onFlush(this) },
|
||||
prefixMatcher, parameters, resultSet,
|
||||
createSorter(), (file as? KtCodeFragment)?.extraCompletionFilter,
|
||||
moduleDescriptor.platform.isCommon()
|
||||
moduleDescriptor.platform.isMultiPlatform()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user