CYCLIC_INHERITANCE_HIERARCHY reworked

We do not try to recover too gracefully from a cyclic hierarchy any more:
we simply remove all the edges that belong to a cycle instead of intelligently finding one most convenient edge to cut.
This is done in both lazy and eager resolve to keep tests passing.
This commit is contained in:
Andrey Breslav
2014-02-28 20:02:38 +04:00
parent ed81102b2f
commit 8be40c29cf
8 changed files with 167 additions and 105 deletions
@@ -0,0 +1,10 @@
package test
trait A
trait B : A, E
trait C : B
trait D : B
trait E : F
trait F : D, C
trait G : F
trait H : F
@@ -0,0 +1,25 @@
package test
internal trait A {
}
internal trait B : test.A {
}
internal trait C {
}
internal trait D {
}
internal trait E {
}
internal trait F {
}
internal trait G : test.F {
}
internal trait H : test.F {
}