FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
  CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:A1 flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Annotation modality:ABSTRACT visibility:public flags:
    CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:A1 flags:
      VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int flags:vararg
    PROPERTY name:xs type:kotlin.IntArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter vararg xs: Int' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xs> visibility:public modality:FINAL <> ($this:A1) returnType:IntArray flags:
        $this: VALUE_PARAMETER name:<this> type:A1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-xs>(): IntArray'
            GET_FIELD 'xs: IntArray' type=kotlin.IntArray origin=null
              receiver: GET_VAR 'this@A1: A1' type=A1 origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:A2 flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Annotation modality:ABSTRACT visibility:public flags:
    CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out kotlin.String>) returnType:A2 flags:
      VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String flags:vararg
    PROPERTY name:xs type:kotlin.Array<out kotlin.String> visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out kotlin.String> visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter vararg xs: String' type=kotlin.Array<out kotlin.String> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xs> visibility:public modality:FINAL <> ($this:A2) returnType:Array<out String> flags:
        $this: VALUE_PARAMETER name:<this> type:A2 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-xs>(): Array<out String>'
            GET_FIELD 'xs: Array<out String>' type=kotlin.Array<out kotlin.String> origin=null
              receiver: GET_VAR 'this@A2: A2' type=A2 origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:AA flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:Annotation modality:ABSTRACT visibility:public flags:
    CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out A1>) returnType:AA flags:
      VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out A1> varargElementType:A1 flags:vararg
    PROPERTY name:xs type:kotlin.Array<out A1> visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out A1> visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter vararg xs: A1' type=kotlin.Array<out A1> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xs> visibility:public modality:FINAL <> ($this:AA) returnType:Array<out A1> flags:
        $this: VALUE_PARAMETER name:<this> type:AA flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-xs>(): Array<out A1>'
            GET_FIELD 'xs: Array<out A1>' type=kotlin.Array<out A1> origin=null
              receiver: GET_VAR 'this@AA: AA' type=AA origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  FUN name:test1 visibility:public modality:FINAL <> () returnType:Unit flags:
    annotations:
      CALL 'constructor A1(vararg Int)' type=A1 origin=null
        xs: VARARG type=IntArray varargElementType=Int
          CONST Int type=kotlin.Int value=1
          CONST Int type=kotlin.Int value=2
          CONST Int type=kotlin.Int value=3
      CALL 'constructor A2(vararg String)' type=A2 origin=null
        xs: VARARG type=Array<out String> varargElementType=String
          CONST String type=kotlin.String value=a
          CONST String type=kotlin.String value=b
          CONST String type=kotlin.String value=c
      CALL 'constructor AA(vararg A1)' type=AA origin=null
        xs: VARARG type=Array<out A1> varargElementType=A1
          CALL 'constructor A1(vararg Int)' type=A1 origin=null
            xs: VARARG type=IntArray varargElementType=Int
              CONST Int type=kotlin.Int value=4
          CALL 'constructor A1(vararg Int)' type=A1 origin=null
            xs: VARARG type=IntArray varargElementType=Int
              CONST Int type=kotlin.Int value=5
          CALL 'constructor A1(vararg Int)' type=A1 origin=null
            xs: VARARG type=IntArray varargElementType=Int
              CONST Int type=kotlin.Int value=6
    BLOCK_BODY
  FUN name:test2 visibility:public modality:FINAL <> () returnType:Unit flags:
    annotations:
      CALL 'constructor A1(vararg Int)' type=A1 origin=null
        xs: VARARG type=IntArray varargElementType=Int
      CALL 'constructor A2(vararg String)' type=A2 origin=null
        xs: VARARG type=Array<out String> varargElementType=String
      CALL 'constructor AA(vararg A1)' type=AA origin=null
        xs: VARARG type=Array<out A1> varargElementType=A1
    BLOCK_BODY
