Minor: narrow deprecation scope of DataFlowValueFactoryImpl to constructor
This commit is contained in:
+8
-7
@@ -23,8 +23,9 @@ import org.jetbrains.kotlin.types.KotlinType
|
|||||||
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
|
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
|
||||||
import org.jetbrains.kotlin.types.isError
|
import org.jetbrains.kotlin.types.isError
|
||||||
|
|
||||||
@Deprecated("Please, avoid to use that implementation explicitly. If you need DataFlowValueFactory, use injection")
|
class DataFlowValueFactoryImpl
|
||||||
class DataFlowValueFactoryImpl : DataFlowValueFactory {
|
@Deprecated("Please, avoid to use that implementation explicitly. If you need DataFlowValueFactory, use injection") constructor() :
|
||||||
|
DataFlowValueFactory {
|
||||||
|
|
||||||
// Receivers
|
// Receivers
|
||||||
override fun createDataFlowValue(
|
override fun createDataFlowValue(
|
||||||
@@ -89,11 +90,11 @@ class DataFlowValueFactoryImpl : DataFlowValueFactory {
|
|||||||
KotlinBuiltIns.isNullableNothing(type) ->
|
KotlinBuiltIns.isNullableNothing(type) ->
|
||||||
DataFlowValue.nullValue(containingDeclarationOrModule.builtIns) // 'null' is the only inhabitant of 'Nothing?'
|
DataFlowValue.nullValue(containingDeclarationOrModule.builtIns) // 'null' is the only inhabitant of 'Nothing?'
|
||||||
|
|
||||||
// In most cases type of `E!!`-expression is strictly not nullable and we could get proper Nullability
|
// In most cases type of `E!!`-expression is strictly not nullable and we could get proper Nullability
|
||||||
// by calling `getImmanentNullability` (as it happens below).
|
// by calling `getImmanentNullability` (as it happens below).
|
||||||
//
|
//
|
||||||
// But there are some problem with types built on type parameters, e.g.
|
// But there are some problem with types built on type parameters, e.g.
|
||||||
// fun <T : Any?> foo(x: T) = x!!.hashCode() // there no way in type system to denote that `x!!` is not nullable
|
// fun <T : Any?> foo(x: T) = x!!.hashCode() // there no way in type system to denote that `x!!` is not nullable
|
||||||
ExpressionTypingUtils.isExclExclExpression(KtPsiUtil.deparenthesize(expression)) ->
|
ExpressionTypingUtils.isExclExclExpression(KtPsiUtil.deparenthesize(expression)) ->
|
||||||
DataFlowValue(IdentifierInfo.Expression(expression), type, Nullability.NOT_NULL)
|
DataFlowValue(IdentifierInfo.Expression(expression), type, Nullability.NOT_NULL)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user