blob: 761d5c311e5295b9aeb77200db6e2af6b0f50db3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// $Id$
object CI {
trait TreeDisplay {
type TreeNode <: ITreeNode
trait ITreeNode {
def display(): Unit
}
}
trait TreeDisplayExp {
def getRoot(): TreeNode
type TreeNode <: ITreeNodeExp
trait ITreeNodeExp {}
}
trait TreeDisplayFinal extends TreeDisplay with TreeDisplayExp {
type TreeNode <: ITreeNode with ITreeNodeExp
}
abstract class SimpleTreeDisplay extends TreeDisplay { self: TreeDisplayFinal =>
def display() { this.getRoot().display() }
}
}
|