FILE /safeCalls.kt
  DUMMY Ref
  DUMMY IHost
  FUN public fun test1(/*0*/ x: kotlin.String?): kotlin.Int?
    BLOCK_BODY
      RETURN type=<no-type>
        WHEN type=kotlin.Int? operator=SAFE_CALL
          if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
            arg0: GET_VAR x type=kotlin.String? operator=null
            arg1: CONST Null type=kotlin.Nothing? value='null'
          then: CONST Null type=kotlin.Nothing? value='null'
          else: CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY
            $this: GET_VAR x type=kotlin.String? operator=null
  FUN public fun test2(/*0*/ x: kotlin.String?): kotlin.Int?
    BLOCK_BODY
      RETURN type=<no-type>
        WHEN type=kotlin.Int? operator=SAFE_CALL
          if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
            arg0: GET_VAR x type=kotlin.String? operator=null
            arg1: CONST Null type=kotlin.Nothing? value='null'
          then: CONST Null type=kotlin.Nothing? value='null'
          else: CALL .hashCode type=kotlin.Int operator=null
            $this: GET_VAR x type=kotlin.String? operator=null
  FUN public fun test3(/*0*/ x: kotlin.String?, /*1*/ y: kotlin.Any?): kotlin.Boolean?
    BLOCK_BODY
      RETURN type=<no-type>
        WHEN type=kotlin.Boolean? operator=SAFE_CALL
          if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
            arg0: GET_VAR x type=kotlin.String? operator=null
            arg1: CONST Null type=kotlin.Nothing? value='null'
          then: CONST Null type=kotlin.Nothing? value='null'
          else: CALL .equals type=kotlin.Boolean operator=null
            $this: GET_VAR x type=kotlin.String? operator=null
            other: GET_VAR y type=kotlin.Any? operator=null
  FUN public fun test4(/*0*/ x: Ref?): kotlin.Unit
    BLOCK_BODY
      WHEN type=kotlin.Unit? operator=SAFE_CALL
        if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
          arg0: GET_VAR x type=Ref? operator=null
          arg1: CONST Null type=kotlin.Nothing? value='null'
        then: CONST Null type=kotlin.Nothing? value='null'
        else: CALL .<set-value> type=kotlin.Unit operator=EQ
          $this: GET_VAR x type=Ref? operator=null
          <set-?>: CONST Int type=kotlin.Int value='0'
  FUN public fun IHost.test5(/*0*/ s: kotlin.String?): kotlin.Int?
    BLOCK_BODY
      RETURN type=<no-type>
        WHEN type=kotlin.Int? operator=SAFE_CALL
          if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
            arg0: GET_VAR s type=kotlin.String? operator=null
            arg1: CONST Null type=kotlin.Nothing? value='null'
          then: CONST Null type=kotlin.Nothing? value='null'
          else: CALL .extLength type=kotlin.Int operator=null
            $this: $RECEIVER of: test5 type=IHost
            $receiver: GET_VAR s type=kotlin.String? operator=null
