FILE /elvis.kt
  PROPERTY public val p: kotlin.Any? = null
    FIELD public val p: kotlin.Any? = null
      EXPRESSION_BODY
        CONST Null type=kotlin.Nothing? value='null'
    FUN public fun <get-p>(): kotlin.Any?
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-p>(): Any?'
          GET_BACKING_FIELD 'p: Any?' type=kotlin.Any? operator=null
  FUN public fun foo(): kotlin.Any?
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='foo(): Any?'
        CONST Null type=kotlin.Nothing? value='null'
  FUN public fun test1(a: kotlin.Any?, b: kotlin.Any): kotlin.Any
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test1(Any?, Any): Any'
        BLOCK type=kotlin.Any operator=ELVIS
          VAR val tmp0_elvis_lhs: kotlin.Any?
            GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
          WHEN type=kotlin.Any operator=null
            if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
              arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
              arg1: CONST Null type=kotlin.Nothing? value='null'
            then: GET_VAR 'value-parameter b: Any' type=kotlin.Any operator=null
            else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
  FUN public fun test2(a: kotlin.String?, b: kotlin.Any): kotlin.Any
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test2(String?, Any): Any'
        BLOCK type=kotlin.Any operator=ELVIS
          VAR val tmp0_elvis_lhs: kotlin.String?
            GET_VAR 'value-parameter a: String?' type=kotlin.String? operator=null
          WHEN type=kotlin.Any operator=null
            if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
              arg0: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? operator=null
              arg1: CONST Null type=kotlin.Nothing? value='null'
            then: GET_VAR 'value-parameter b: Any' type=kotlin.Any operator=null
            else: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? operator=null
  FUN public fun test3(a: kotlin.Any?, b: kotlin.Any?): kotlin.String
    BLOCK_BODY
      WHEN type=kotlin.Unit operator=IF
        if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
          GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
        then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
          CONST String type=kotlin.String value=''
      WHEN type=kotlin.Unit operator=IF
        if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String?
          GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
        then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
          CONST String type=kotlin.String value=''
      RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
        BLOCK type=kotlin.String operator=ELVIS
          VAR val tmp0_elvis_lhs: kotlin.Any?
            GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
          WHEN type=kotlin.String operator=null
            if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
              arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
              arg1: CONST Null type=kotlin.Nothing? value='null'
            then: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
              GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
            else: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
              GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
  FUN public fun test4(x: kotlin.Any): kotlin.Any
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test4(Any): Any'
        BLOCK type=kotlin.Any operator=ELVIS
          VAR val tmp0_elvis_lhs: kotlin.Any?
            CALL '<get-p>(): Any?' type=kotlin.Any? operator=GET_PROPERTY
          WHEN type=kotlin.Any operator=null
            if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
              arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
              arg1: CONST Null type=kotlin.Nothing? value='null'
            then: GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
            else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
  FUN public fun test5(x: kotlin.Any): kotlin.Any
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test5(Any): Any'
        BLOCK type=kotlin.Any operator=ELVIS
          VAR val tmp0_elvis_lhs: kotlin.Any?
            CALL 'foo(): Any?' type=kotlin.Any? operator=null
          WHEN type=kotlin.Any operator=null
            if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
              arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
              arg1: CONST Null type=kotlin.Nothing? value='null'
            then: GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
            else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
