blob: 0f0b02395c98048d26e5d009c687d4c17571911f (
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
abstract class BaseList {
type Node <: BaseNode;
abstract class BaseNode {
protected def self : Node;
private[BaseList] def self00 = self;
def dirty : Unit = {}
def replaceWith(node : Node) = {}
}
implicit def baseNode2Node(bnode : BaseNode): Node = bnode.self00;
}
trait BaseFlow extends BaseList {
type Node <: BFNode;
type Flow <: FlowBase;
type Output <: OutputBase;
type Input <: InputBase;
abstract class FlowBase {
}
trait OutputBase extends FlowBase {
}
trait InputBase extends FlowBase {
}
trait BFNode extends BaseNode {
private var input : Input = _;
private var output : Output = _;
def input_=(in : Input) = {}
}
}
|