aboutsummaryrefslogtreecommitdiff
path: root/test/x
diff options
context:
space:
mode:
Diffstat (limited to 'test/x')
-rw-r--r--test/x/cakes.scala49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/x/cakes.scala b/test/x/cakes.scala
new file mode 100644
index 000000000..ff5e5d64f
--- /dev/null
+++ b/test/x/cakes.scala
@@ -0,0 +1,49 @@
+package test
+
+trait API {
+
+ type Name >: Null <: NameAPI
+ type Symbol >: Null <: SymbolAPI
+ type ScopeEntry >: Null <: ScopeEntryAPI
+
+ class NameAPI
+ class SymbolAPI
+ class ScopeEntryAPI
+
+}
+
+trait Names { self: SymTab =>
+
+ class Name extends NameAPI
+
+}
+
+trait Symbols { self: SymTab =>
+
+ class Symbol extends SymbolAPI
+
+}
+
+trait Scopes { self: SymTab =>
+
+ class ScopeEntry extends ScopeEntryAPI
+ class Scope {
+ def unlink(e: ScopeEntry): Unit = ???
+ def unlink(e: Symbol): Unit = ???
+ }
+
+}
+
+trait SymTab extends API with Names with Scopes {
+
+}
+
+
+trait SyncOps extends SymTab {
+
+ trait SyncScope extends Scope {
+ override def unlink(e: ScopeEntry): Unit = ???
+ override def unlink(e: Symbol): Unit = ???
+ }
+
+}