FILE /safeAssignment.kt CLASS CLASS C CONSTRUCTOR public constructor C(x: kotlin.Int) BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='C' PROPERTY public final var x: kotlin.Int FIELD PROPERTY_BACKING_FIELD public final var x: kotlin.Int EXPRESSION_BODY GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR public final fun (): kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'x: Int' type=kotlin.Int origin=null receiver: GET_VAR '' type=C origin=null FUN DEFAULT_PROPERTY_ACCESSOR public final fun (: kotlin.Int): kotlin.Unit BLOCK_BODY SET_FIELD 'x: Int' type=kotlin.Unit origin=null receiver: GET_VAR '' type=C origin=null value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null FUN public fun test(nc: C?): kotlin.Unit BLOCK_BODY BLOCK type=kotlin.Unit origin=SAFE_CALL VAR IR_TEMPORARY_VARIABLE val tmp0_safe_receiver: C? GET_VAR 'value-parameter nc: C?' type=C? origin=null WHEN type=kotlin.Unit origin=SAFE_CALL BRANCH if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null arg1: CONST Null type=kotlin.Nothing? value='null' then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit CONST Null type=kotlin.Nothing? value='null' BRANCH if: CONST Boolean type=kotlin.Boolean value='true' then: CALL '(Int): Unit' type=kotlin.Unit origin=EQ $this: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null : CONST Int type=kotlin.Int value='42'