FILE /outerClassAccess.kt
  CLASS CLASS Outer
    $this: VALUE_PARAMETER this@Outer: Outer
    CONSTRUCTOR public constructor Outer()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='Outer'
    FUN public final fun foo(): kotlin.Unit
      $this: VALUE_PARAMETER this@Outer: Outer
      BLOCK_BODY
    CLASS CLASS Inner
      $this: VALUE_PARAMETER this@Inner: Inner
      CONSTRUCTOR public constructor Inner()
        $outer: VALUE_PARAMETER this@Outer: Outer
        BLOCK_BODY
          DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
          INSTANCE_INITIALIZER_CALL classDescriptor='Inner'
      FUN public final fun test(): kotlin.Unit
        $this: VALUE_PARAMETER this@Inner: Inner
        BLOCK_BODY
          CALL 'foo(): Unit' type=kotlin.Unit origin=null
            $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null
      CLASS CLASS Inner2
        $this: VALUE_PARAMETER this@Inner2: Inner2
        CONSTRUCTOR public constructor Inner2()
          $outer: VALUE_PARAMETER this@Inner: Inner
          BLOCK_BODY
            DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
            INSTANCE_INITIALIZER_CALL classDescriptor='Inner2'
        FUN public final fun test2(): kotlin.Unit
          $this: VALUE_PARAMETER this@Inner2: Inner2
          BLOCK_BODY
            CALL 'test(): Unit' type=kotlin.Unit origin=null
              $this: GET_VAR 'this@Inner: Inner' type=Outer.Inner origin=null
            CALL 'foo(): Unit' type=kotlin.Unit origin=null
              $this: GET_VAR 'this@Outer: Outer' type=Outer origin=null
        FUN public final fun Outer.test3(): kotlin.Unit
          $this: VALUE_PARAMETER this@Inner2: Inner2
          $receiver: VALUE_PARAMETER this@test3: Outer
          BLOCK_BODY
            CALL 'foo(): Unit' type=kotlin.Unit origin=null
              $this: GET_VAR 'this@test3: Outer' type=Outer origin=null
        FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
          $this: VALUE_PARAMETER this@Any: Any
          VALUE_PARAMETER value-parameter other: kotlin.Any?
        FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
          $this: VALUE_PARAMETER this@Any: Any
        FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
          $this: VALUE_PARAMETER this@Any: Any
      FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
        $this: VALUE_PARAMETER this@Any: Any
        VALUE_PARAMETER value-parameter other: kotlin.Any?
      FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
        $this: VALUE_PARAMETER this@Any: Any
      FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
        $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
      $this: VALUE_PARAMETER this@Any: Any
      VALUE_PARAMETER value-parameter other: kotlin.Any?
    FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
      $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
      $this: VALUE_PARAMETER this@Any: Any

