summaryrefslogtreecommitdiff
path: root/test/files/pos/context.scala
blob: 5706918ef9e6ab4094ba8a60efeca8afa5d83842 (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
42
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;
    }
  }
}

============================================================

class Context {


}