12 override val foo = <bold>3</bold> (in C.foo)
17 	<bold>val y</bold> = b.foo (in test(A, B,…))
17 		val y = <bold>b.foo</bold> (in test(A, B,…))
12 			override <bold>val foo</bold> = 3 (in C)
12 				override val foo = <bold>3</bold> (in C.foo)

3 return <bold>5</bold>;
17 	<bold>val y</bold> = b.foo (in test(A, B,…))
17 		val y = <bold>b.foo</bold> (in test(A, B,…))
3 			return <bold>5</bold>;

8 override val foo = <bold>2</bold> (in B.foo)
17 	<bold>val y</bold> = b.foo (in test(A, B,…))
17 		val y = <bold>b.foo</bold> (in test(A, B,…))
8 			override <bold>val foo</bold> = 2 (in B)
8 				override val foo = <bold>2</bold> (in B.foo)

