8 override fun foo() = 2 (in B.foo()) 17 val y = b.foo() (in test(A, B,…)) 17 val y = b.foo() (in test(A, B,…)) 8 override fun foo() = 2 (in B) 8 override fun foo() = 2 (in B.foo()) 12 override fun foo() = 3 (in C.foo()) 17 val y = b.foo() (in test(A, B,…)) 17 val y = b.foo() (in test(A, B,…)) 12 override fun foo() = 3 (in C) 12 override fun foo() = 3 (in C.foo()) 3 return 5; 17 val y = b.foo() (in test(A, B,…)) 17 val y = b.foo() (in test(A, B,…)) 3 return 5;