12 override fun foo() = <bold>3</bold> (in C.foo())
20 	<bold>val x</bold> = a.foo() (in test(A, B,…))
20 		val x = <bold>a.foo()</bold> (in test(A, B,…))
12 			override <bold>fun foo()</bold> = 3 (in C)
12 				override fun foo() = <bold>3</bold> (in C.foo())

16 override fun foo() = <bold>4</bold> (in D.foo())
20 	<bold>val x</bold> = a.foo() (in test(A, B,…))
20 		val x = <bold>a.foo()</bold> (in test(A, B,…))
16 			override <bold>fun foo()</bold> = 4 (in D)
16 				override fun foo() = <bold>4</bold> (in D.foo())

4 fun foo() = <bold>1</bold> (in A.foo())
20 	<bold>val x</bold> = a.foo() (in test(A, B,…))
20 		val x = <bold>a.foo()</bold> (in test(A, B,…))
4 			<bold>fun foo()</bold> = 1 (in A)
4 				fun foo() = <bold>1</bold> (in A.foo())

8 override fun foo() = <bold>2</bold> (in B.foo())
20 	<bold>val x</bold> = a.foo() (in test(A, B,…))
20 		val x = <bold>a.foo()</bold> (in test(A, B,…))
8 			override <bold>fun foo()</bold> = 2 (in B)
8 				override fun foo() = <bold>2</bold> (in B.foo())

