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