| class Example | |
| { | |
| var a1 = 0 | |
| public var a2: Int = 0 | |
| private var a3 = 0 | |
| var b1 = 0 | |
| private set | |
| var b2 = 0 | |
| internal set | |
| var b3 = 0 | |
| set | |
| public var b4: Int = 0 | |
| public set | |
| private var b5 = 0 | |
| private set | |
| init { | |
| a1 = 1 | |
| a2 = 1 | |
| a3 = 1 | |
| b1 = 1 | |
| b2 = 1 | |
| b3 = 1 | |
| b4 = 1 | |
| b5 = 1 | |
| foo { a1 = 1 } | |
| bar() | |
| } | |
| private inline fun bar() { a1 = 1 } | |
| } | |
| inline fun foo(x: () -> Unit) = x() | |
| // Every property should be accessed directly in this example because they all are final class properties with default accessors | |
| // 0 INVOKESPECIAL Example\.set | |
| // ...including the access in `private inline fun` which we know is only called from `init`. | |
| // 0 INVOKEVIRTUAL Example\.set |