Dependency analysis works as expected.
Code in project C uses classes from project B but it does not directly depend on project B. It compiles only because it transitively depend on B through project A. Changing dependency of project A would break project C. This is what we are trying to avoid
This is not good, if the code uses classes from B, it should directly depend on B.