summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-01-10 20:28:19 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-01-21 12:24:51 +0300
commit97286d761a5eaf18cc7018aa162866232a87ed91 (patch)
tree1343a6534e5fadd02bfa1b1bf2b67bfa18a7c786 /src/reflect
parente089cafb5fd02e2457bafde3252da3a771d3180e (diff)
downloadscala-97286d761a5eaf18cc7018aa162866232a87ed91.tar.gz
scala-97286d761a5eaf18cc7018aa162866232a87ed91.tar.bz2
scala-97286d761a5eaf18cc7018aa162866232a87ed91.zip
moves analyzer.ImportType into scala.reflect.internal
This cute little type is necessary for importers to work correctly. I wonder how we could overlook its existence for almost 2 years.
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/scala/reflect/internal/Importers.scala2
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala4
-rw-r--r--src/reflect/scala/reflect/runtime/JavaUniverseForce.scala1
3 files changed, 7 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Importers.scala b/src/reflect/scala/reflect/internal/Importers.scala
index 91ba552012..26d55e21c4 100644
--- a/src/reflect/scala/reflect/internal/Importers.scala
+++ b/src/reflect/scala/reflect/internal/Importers.scala
@@ -260,6 +260,8 @@ trait Importers extends api.Importers { to: SymbolTable =>
newExistentialType(tparams map importSymbol, importType(result))
case from.OverloadedType(pre, alts) =>
OverloadedType(importType(pre), alts map importSymbol)
+ case from.ImportType(qual) =>
+ ImportType(importTree(qual))
case from.AntiPolyType(pre, targs) =>
AntiPolyType(importType(pre), targs map importType)
case their: from.TypeVar =>
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index 99e6ae633f..45daa2ae04 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -2747,6 +2747,10 @@ trait Types
case _ => OverloadedType(pre, alternatives)
}
+ case class ImportType(expr: Tree) extends Type {
+ override def safeToString = "ImportType("+expr+")"
+ }
+
/** A class remembering a type instantiation for some a set of overloaded
* polymorphic symbols.
* Not used after phase `typer`.
diff --git a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
index c87995275f..9dfa5bcf2e 100644
--- a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
+++ b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
@@ -169,6 +169,7 @@ trait JavaUniverseForce { self: runtime.JavaUniverse =>
this.PolyType
this.ExistentialType
this.OverloadedType
+ this.ImportType
this.AntiPolyType
this.HasTypeMember
this.ArrayTypeRef