blob: 565bc9572b71b73f11c3436d5191824e5f8c5d54 (
plain) (
tree)
|
|
abstract class F {
final def apply(x: Int): AnyRef = null
}
abstract class AbstractModule {
def as: List[AnyRef]
def ms: List[AbstractModule]
def fs: List[F] = Nil
def rs(x: Int): List[AnyRef] = fs.map(_(x))
}
abstract class ModuleType1 extends AbstractModule {}
abstract class ModuleType2 extends AbstractModule {}
object ModuleAE extends ModuleType1 {
def as = Nil
def ms = Nil
}
object ModuleAF extends ModuleType2 {
def as = Nil
def ms = List(ModuleAE)
}
object ModuleAG extends ModuleType1 {
def as = List("")
def ms = Nil
}
object ModuleAI extends ModuleType1 {
def as = Nil
def ms = List(ModuleAE)
}
object ModuleAK extends ModuleType2 {
def as = Nil
def ms = List(ModuleAF)
}
object ModuleAL extends ModuleType1 {
def as = Nil
def ms = List(
ModuleAG,
ModuleAI
)
}
object ModuleAM extends ModuleType1 {
def as = Nil
def ms = List(
ModuleAL,
ModuleAE
) ::: List(ModuleAK)
}
object ModuleBE extends ModuleType1 {
def as = Nil
def ms = Nil
}
object ModuleBF extends ModuleType2 {
def as = Nil
def ms = List(ModuleBE)
}
object ModuleBG extends ModuleType1 {
def as = List("")
def ms = Nil
}
object ModuleBI extends ModuleType1 {
def as = Nil
def ms = List(ModuleBE)
}
object ModuleBK extends ModuleType2 {
def as = Nil
def ms = List(ModuleBF)
}
object ModuleBL extends ModuleType1 {
def as = Nil
def ms = List(
ModuleBG,
ModuleBI
)
}
object ModuleBM extends ModuleType1 {
def as = Nil
def ms = List(
ModuleBL,
ModuleBE
) ::: List(ModuleBK)
}
|