[FE] Drop ApproximateIntegerLiteralTypesInReceiverPosition language feature

This feature is not needed because it is unconditionally disabled for K1
  (because of not fully correct implementation) and unconditionally enabled
  in K2 (K2 does not support old behavior)

^KT-38895
This commit is contained in:
Dmitriy Novozhilov
2022-11-30 12:22:09 +02:00
committed by Space Team
parent 26ff806440
commit 3cffb33ab7
90 changed files with 90 additions and 494 deletions
@@ -28,7 +28,7 @@ interface CompileTimeConstant<out T> {
val isError: Boolean
get() = false
val parameters: CompileTimeConstant.Parameters
val parameters: Parameters
val moduleDescriptor: ModuleDescriptor
@@ -58,8 +58,7 @@ interface CompileTimeConstant<out T> {
val usesVariableAsConstant: Boolean,
val usesNonConstValAsConstant: Boolean,
// `isConvertableConstVal` means that this is `const val` that has `ImplicitIntegerCoercion` annotation
val isConvertableConstVal: Boolean,
val dontCreateILT: Boolean
val isConvertableConstVal: Boolean
)
override fun equals(other: Any?): Boolean
@@ -150,8 +149,7 @@ class IntegerValueTypeConstant(
isUnsignedLongNumberLiteral = parameters.isUnsignedLongNumberLiteral,
usesVariableAsConstant = parameters.usesVariableAsConstant,
usesNonConstValAsConstant = parameters.usesNonConstValAsConstant,
isConvertableConstVal = parameters.isConvertableConstVal,
dontCreateILT = false
isConvertableConstVal = parameters.isConvertableConstVal
)
return IntegerValueTypeConstant(value, module, newParameters, newInferenceEnabled, convertedFromSigned = true)
@@ -165,8 +163,7 @@ class IntegerValueTypeConstant(
isUnsignedLongNumberLiteral = parameters.isUnsignedLongNumberLiteral,
usesVariableAsConstant = parameters.usesVariableAsConstant,
usesNonConstValAsConstant = parameters.usesNonConstValAsConstant,
isConvertableConstVal = parameters.isConvertableConstVal,
dontCreateILT = false
isConvertableConstVal = parameters.isConvertableConstVal
)
return IntegerValueTypeConstant(value, module, newParameters, newInferenceEnabled, convertedFromSigned = true)