Control Flow: Fix CFG usage info for double-colon expressions
#KT-12551 Fixed #KT-17092 Fixed
This commit is contained in:
@@ -1450,9 +1450,8 @@ class ControlFlowProcessor(private val trace: BindingTrace) {
|
||||
val receiverExpression = expression.receiverExpression
|
||||
if (receiverExpression != null &&
|
||||
trace.bindingContext.get(BindingContext.DOUBLE_COLON_LHS, receiverExpression) is DoubleColonLHS.Expression) {
|
||||
// TODO: UNUSED_EXPRESSION is not reported on the whole expression, see KT-12551
|
||||
generateInstructions(receiverExpression)
|
||||
createSyntheticValue(expression, MagicKind.BOUND_CALLABLE_REFERENCE, receiverExpression)
|
||||
createNonSyntheticValue(expression, MagicKind.BOUND_CALLABLE_REFERENCE, receiverExpression)
|
||||
}
|
||||
else {
|
||||
createNonSyntheticValue(expression, MagicKind.UNBOUND_CALLABLE_REFERENCE)
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ enum class MagicKind(val sideEffectFree: Boolean = false) {
|
||||
IS(),
|
||||
CAST(),
|
||||
UNBOUND_CALLABLE_REFERENCE(true),
|
||||
BOUND_CALLABLE_REFERENCE(),
|
||||
BOUND_CALLABLE_REFERENCE(true),
|
||||
// implicit operations
|
||||
LOOP_RANGE_ITERATION(),
|
||||
IMPLICIT_RECEIVER(),
|
||||
|
||||
Reference in New Issue
Block a user