aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2017-02-14 18:46:36 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-02-14 18:46:36 +0100
commit606e36be88c47cd3f2e8856d6bd6b95aed7aa191 (patch)
tree1d71ab178ad4da7bf8d7ed2222e5c7d38f46f22d /compiler/src/dotty/tools/dotc/typer/Typer.scala
parent38a385af56fa14e5b48b23f87bcf9ce7aa22a1ef (diff)
downloaddotty-606e36be88c47cd3f2e8856d6bd6b95aed7aa191.tar.gz
dotty-606e36be88c47cd3f2e8856d6bd6b95aed7aa191.tar.bz2
dotty-606e36be88c47cd3f2e8856d6bd6b95aed7aa191.zip
Fix #1976: Hack to support scala.xml's $scope (#1977)
This is a gross hack to support the need for a $scope binding when XML literals are created. It should go away once we phase out XML literals. A library-based solution should use implicits instead.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/typer/Typer.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/Typer.scala b/compiler/src/dotty/tools/dotc/typer/Typer.scala
index ded8993fb..52f0a7ec7 100644
--- a/compiler/src/dotty/tools/dotc/typer/Typer.scala
+++ b/compiler/src/dotty/tools/dotc/typer/Typer.scala
@@ -351,6 +351,11 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
val ownType =
if (rawType.exists)
ensureAccessible(rawType, superAccess = false, tree.pos)
+ else if (name == nme._scope) {
+ // gross hack to support current xml literals.
+ // awaiting a better implicits based solution for library-supported xml
+ return ref(defn.XMLTopScopeModuleRef)
+ }
else
errorType(new MissingIdent(tree, kind, name.show), tree.pos)