Improve 1.0-compatibility mode for JDK dependent members

Just reporting error by call checker may be too restrictive
in case there are some extensions that can be used successfully

Solution is to annotate additional members with
@Deprecated(level=Error) + @kotlin.internal.LowPriorityInOverloadResolution
This commit is contained in:
Denis Zharkov
2016-09-21 16:31:04 +03:00
parent a7dedfab70
commit 5381c06936
10 changed files with 86 additions and 33 deletions
@@ -32,6 +32,9 @@ import org.jetbrains.kotlin.analyzer.EmptyResolverForProject
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.container.get
import org.jetbrains.kotlin.container.getService
import org.jetbrains.kotlin.context.GlobalContext
import org.jetbrains.kotlin.context.GlobalContextImpl
@@ -381,9 +384,12 @@ private fun globalResolveSessionProvider(
if (newBuiltIns is JvmBuiltIns) {
val sdkInfo = SdkInfo(project, sdk!!)
newBuiltIns.initialize(moduleResolverProvider.resolverForProject.descriptorForModule(sdkInfo))
newBuiltIns.initialize(
moduleResolverProvider.resolverForProject.descriptorForModule(sdkInfo),
moduleResolverProvider.resolverForProject.resolverForModule(sdkInfo)
.componentProvider.get<LanguageVersionSettings>()
.supportsFeature(LanguageFeature.AdditionalBuiltInsMembers))
}
moduleResolverProvider
}