| ### Inner classes | |
| The basic problematic example looks like this: | |
| ```kotlin | |
| class A(val x: Int) { | |
| inner class B { | |
| inline fun foo() = x | |
| } | |
| } | |
| fun main() { | |
| A(5).B().foo() | |
| } | |
| ``` | |
| The problem is caused by the fact that there is no field, which stores A object inside B doesn't exist after | |
| Fir2IR. This field is added by lowering (which is now exectued before inlining, but probably should be moved after), | |
| and is a private one. This leads to two problems | |
| 1. This field doesn't exist in klib | |
| 2. Even if it exists, it shouldn't have a public signature, so can't be referenced from other klib. | |
| There is a possibility that we can deprecate accessing this of outer class from public inline functions. | |
| This would make fixing things a bit easier here. |