blob: 25c2fbc635a47ec59b2d4da19cb96114aa803a07 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package test;
import scala.collection.mutable._;
trait CompleteLattice {
trait Elem;
}
trait DataFlowAnalysis[L <: CompleteLattice] {
type P;
val lattice : L;
val out: Map[P, lattice.Elem] = new HashMap;
}
abstract class Liveness {
object livenessLattice extends CompleteLattice;
final class LivenessAnalysis extends DataFlowAnalysis[livenessLattice.type] {
type P = String;
val lattice = livenessLattice;
}
}
|