Add helpers for getting commonly used services without an opt-in
These services are LanguageVersionSettings, DataFlowValueFactory #KT-39643 Fixed
This commit is contained in:
+2
-5
@@ -6,20 +6,18 @@
|
||||
package org.jetbrains.kotlin.nj2k.inference.nullability
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
||||
import org.jetbrains.kotlin.idea.FrontendInternals
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||
import org.jetbrains.kotlin.idea.intentions.branchedTransformations.isNullExpression
|
||||
import org.jetbrains.kotlin.idea.references.mainReference
|
||||
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.resolve.frontendService
|
||||
import org.jetbrains.kotlin.idea.resolve.getDataFlowValueFactory
|
||||
import org.jetbrains.kotlin.nj2k.inference.common.*
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getType
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValue
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValueFactory
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.Nullability
|
||||
import org.jetbrains.kotlin.resolve.jvm.checkers.mustNotBeNull
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
@@ -96,8 +94,7 @@ class NullabilityBoundTypeEnhancer(private val resolutionFacade: ResolutionFacad
|
||||
val bindingContext = analyze(resolutionFacade)
|
||||
val type = getType(bindingContext) ?: return null
|
||||
|
||||
@OptIn(FrontendInternals::class)
|
||||
val dataFlowValue = resolutionFacade.frontendService<DataFlowValueFactory>()
|
||||
val dataFlowValue = resolutionFacade.getDataFlowValueFactory()
|
||||
.createDataFlowValue(this, type, bindingContext, resolutionFacade.moduleDescriptor)
|
||||
val dataFlowInfo = bindingContext[BindingContext.EXPRESSION_TYPE_INFO, this]?.dataFlowInfo ?: return null
|
||||
return analyzer(dataFlowValue, dataFlowInfo, type)
|
||||
|
||||
Reference in New Issue
Block a user