Enable new inference explicitly for MPP tests with type refinement

This commit is contained in:
Mikhail Zarechenskiy
2019-08-15 10:12:39 +03:00
parent 735e1ecec1
commit 0620762b97
2 changed files with 4 additions and 3 deletions
@@ -94,7 +94,8 @@ fun AbstractMultiModuleTest.doSetup(projectModel: ProjectResolveModel) {
platform,
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)
}
fun Module.enableMultiPlatform() {
fun Module.enableMultiPlatform(additionalCompilerArguments: String = "") {
createFacet()
val facetSettings = KotlinFacetSettingsProvider.getInstance(project).getInitializedSettings(this)
facetSettings.useProjectSettings = false
facetSettings.compilerSettings = CompilerSettings().apply {
additionalArguments += " -Xmulti-platform -XXtype-refinement"
additionalArguments += " -Xmulti-platform $additionalCompilerArguments"
}
}