@0:0..33:1 FILE fqName:<root> fileName:/comments.kt
  @1:0..33:1 CLASS CLASS name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
    @1:0..33:1 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo flags:[]
    @1:0..33:1 CONSTRUCTOR visibility:public <> () returnType:<root>.Foo flags:[primary]
      @1:0..33:1 BLOCK_BODY
        @1:0..33:1 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
        @1:0..33:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
    @8:4..10:36 CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]
      @8:4..10:36 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Foo.Inner flags:[]
      @8:60..10:36 CONSTRUCTOR visibility:private <> ($this:<root>.Foo, x:kotlin.Int) returnType:<root>.Foo.Inner flags:[primary]
        @8:52..79 VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]
        @8:72..78 VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:[]
        @8:4..10:36 BLOCK_BODY
          @8:4..10:36 DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
          @8:4..10:36 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public flags:[inner] superTypes:[kotlin.Any]'
      @8:10..10:36 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
        @8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
        @8:10..10:36 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
      @8:10..10:36 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
        @8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
      @8:10..10:36 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
        @8:4..10:36 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
    @18:19..20:39 FUN name:foo visibility:protected modality:OPEN <> ($this:<root>.Foo, y:kotlin.Int) returnType:kotlin.Unit flags:[]
      @18:4..20:39 VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]
      @18:27..33 VALUE_PARAMETER name:y index:0 type:kotlin.Int flags:[]
      @18:35..20:39 BLOCK_BODY
    @25:4..27:25 PROPERTY name:x visibility:public modality:FINAL flags:[val]
      @25:4..27:25 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]
        @25:17..19 EXPRESSION_BODY
          @25:17..19 CONST Int type=kotlin.Int value=42
      @27:8..25 FUN name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Foo) returnType:kotlin.Int flags:[]
        @27:8..25 VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]
        @27:16..25 BLOCK_BODY
          @27:16..25 RETURN type=kotlin.Nothing from='FUN name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Foo) returnType:kotlin.Int flags:[]'
            @27:16..25 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PLUS
              @27:16..21 GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:[final]' type=kotlin.Int origin=null
                @27:16..21 GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]' type=<root>.Foo origin=null
              @27:24..25 CONST Int type=kotlin.Int value=1
    @30:4..32:5 FUN name:test visibility:public modality:FINAL <> ($this:<root>.Foo) returnType:kotlin.Unit flags:[]
      @30:4..32:5 VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]
      @30:15..32:5 BLOCK_BODY
        @31:8..41 CALL 'FUN name:foo visibility:protected modality:OPEN <> ($this:<root>.Foo, y:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null
          @31:8..41 GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Foo flags:[]' type=<root>.Foo origin=null
          @31:38..40 CONST Int type=kotlin.Int value=42
    @1:0..33:1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      @1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
      @1:0..33:1 VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
    @1:0..33:1 FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      @1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
    @1:0..33:1 FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      @1:0..33:1 VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
