blob: 4ebc7f6378f6eab3489fb9624bad60bd7384964b (
plain) (
tree)
|
|
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: TreeDisplayFinal extends
TreeDisplay {
def display() = { this.getRoot().display(); }
}
}
|