Enable new inference explicitly for MPP tests with type refinement
This commit is contained in:
@@ -94,7 +94,8 @@ fun AbstractMultiModuleTest.doSetup(projectModel: ProjectResolveModel) {
|
|||||||
platform,
|
platform,
|
||||||
implementedModuleNames = resolveModule.dependencies.filter { it.kind == ResolveDependency.Kind.DEPENDS_ON }.map { it.to.name }
|
implementedModuleNames = resolveModule.dependencies.filter { it.kind == ResolveDependency.Kind.DEPENDS_ON }.map { it.to.name }
|
||||||
)
|
)
|
||||||
ideaModule.enableMultiPlatform()
|
// New inference is enabled here as these tests are using type refinement feature that is working only along with NI
|
||||||
|
ideaModule.enableMultiPlatform(additionalCompilerArguments = "-Xnew-inference")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -109,12 +109,12 @@ abstract class AbstractMultiModuleTest : DaemonAnalyzerTestCase() {
|
|||||||
}, this, kind)
|
}, this, kind)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Module.enableMultiPlatform() {
|
fun Module.enableMultiPlatform(additionalCompilerArguments: String = "") {
|
||||||
createFacet()
|
createFacet()
|
||||||
val facetSettings = KotlinFacetSettingsProvider.getInstance(project).getInitializedSettings(this)
|
val facetSettings = KotlinFacetSettingsProvider.getInstance(project).getInitializedSettings(this)
|
||||||
facetSettings.useProjectSettings = false
|
facetSettings.useProjectSettings = false
|
||||||
facetSettings.compilerSettings = CompilerSettings().apply {
|
facetSettings.compilerSettings = CompilerSettings().apply {
|
||||||
additionalArguments += " -Xmulti-platform -XXtype-refinement"
|
additionalArguments += " -Xmulti-platform $additionalCompilerArguments"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user