aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/context.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/context.scala')
-rw-r--r--tests/untried/pos/context.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/untried/pos/context.scala b/tests/untried/pos/context.scala
new file mode 100644
index 000000000..4e11d07eb
--- /dev/null
+++ b/tests/untried/pos/context.scala
@@ -0,0 +1,38 @@
+class Context {
+ object symwrap extends SymbolWrapper {
+ val context: Context.this.type = Context.this
+ }
+ object typewrap extends TypeWrapper {
+ val context: Context.this.type = Context.this
+ }
+ object symbols extends symwrap.Symbols;
+ object types extends typewrap.Types;
+}
+
+abstract class SymbolWrapper {
+ val context: Context;
+ import context._;
+
+ class Symbols {
+ self: context.symbols.type =>
+
+ abstract class Symbol {
+ def typ: types.Type;
+ def sym: Symbol = typ.sym;
+ }
+ }
+}
+
+abstract class TypeWrapper {
+ val context: Context;
+ import context._;
+
+ class Types {
+ self: context.types.type =>
+
+ abstract class Type {
+ def sym: symbols.Symbol;
+ def typ: Type = sym.typ;
+ }
+ }
+}