Class/object property type (6: 21) var next: Outer.A? = Outer.A()
Function return types (19: 26) fun getNext(): Outer.A? {
Function return types (40: 22) fun Any.toA(): Outer.A? {
Local variable declaration (15: 23) val aa: Outer.A = a
Nested class/object (10: 15) Outer.A.bar = ""
Nested class/object (11: 15) Outer.A.foo()
Nested class/object (5: 37) public class X(bar: String? = Outer.A.bar): Outer.A() {
Nested class/object (7: 32) val myBar: String? = Outer.A.bar
New instance creation (36: 30) fun X.bar(a: Outer.A = Outer.A()) {
New instance creation (6: 32) var next: Outer.A? = Outer.A()
Parameter type (14: 22) fun foo(a: Outer.A) {
Parameter type (36: 20) fun X.bar(a: Outer.A = Outer.A()) {
Super type qualifier (24: 21) super<Outer.A>.foo()
Supertype (27: 25) class object: Outer.A() {
Supertype (32: 17) object O: Outer.A() {
Supertype (5: 51) public class X(bar: String? = Outer.A.bar): Outer.A() {
Target type of 'is' operation (41: 30) return if (this is Outer.A) this as Outer.A else null
Usage in cast target type (41: 47) return if (this is Outer.A) this as Outer.A else null
