blob: 85145dd7357846fd5af4c49ac874bd86dbf3ad41 (
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
|
class Context {
object symswrap extends SymsWrapper {
val context: Context.this.type = Context.this
}
object typswrap extends TypsWrapper {
val context: Context.this.type = Context.this
}
object syms extends symswrap.Syms;
object typs extends typswrap.Typs;
}
abstract class SymsWrapper {
val context: Context;
import context._;
class Syms: context.syms.type {
abstract class Sym: context.syms.Sym {
def typ: typs.Typ;
def sym: Sym = typ.sym;
}
}
}
abstract class TypsWrapper {
val context: Context;
import context._;
class Typs: context.typs.type {
abstract class Typ {
def sym: syms.Sym;
def typ: Typ = sym.typ;
}
}
}
|