summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-11-15 18:33:07 +0000
committerMartin Odersky <odersky@gmail.com>2011-11-15 18:33:07 +0000
commit8a64ed85b9a63fd08c13f6730f038ba233d27fb6 (patch)
tree02770db6dbae39192acd196205b9c45bb0df017a /src/compiler/scala/tools/nsc/typechecker/Implicits.scala
parent7abc466d64681ea7f2610068702019fee66b0579 (diff)
downloadscala-8a64ed85b9a63fd08c13f6730f038ba233d27fb6.tar.gz
scala-8a64ed85b9a63fd08c13f6730f038ba233d27fb6.tar.bz2
scala-8a64ed85b9a63fd08c13f6730f038ba233d27fb6.zip
Towards better reflection APIs.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Implicits.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Implicits.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
index d58df50451..2c32d22081 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
@@ -1110,7 +1110,7 @@ trait Implicits {
// a manifest should have been found by normal searchImplicit
EmptyTree
}
- case RefinedType(parents, decls) =>
+ case RefinedType(parents, decls) => // !!! not yet: if !full || decls.isEmpty =>
// refinement is not generated yet
if (hasLength(parents, 1)) findManifest(parents.head)
else if (full) manifestFactoryCall("intersectionType", tp, parents map findSubManifest: _*)
@@ -1119,7 +1119,14 @@ trait Implicits {
mot(tp1.skolemizeExistential, from, to)
case _ =>
EmptyTree
- }
+/* !!! the following is almost right, but we have to splice nested manifest
+ * !!! types into this type. This requires a substantial extension of
+ * !!! reifiers.
+ val reifier = new liftcode.Reifier()
+ val rtree = reifier.reifyTopLevel(tp1)
+ manifestFactoryCall("apply", tp, rtree)
+*/
+ }
}
mot(tp, Nil, Nil)