summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-04-23 12:31:33 +0000
committerMartin Odersky <odersky@gmail.com>2010-04-23 12:31:33 +0000
commit618b55fa8e1185eec27b93b5451d0331901828a2 (patch)
tree2644aa55ea99ddea2bcc6702977f5de29c763a81 /src/library
parente4716c234d718379e5213abcc19b431a6d906b79 (diff)
downloadscala-618b55fa8e1185eec27b93b5451d0331901828a2.tar.gz
scala-618b55fa8e1185eec27b93b5451d0331901828a2.tar.bz2
scala-618b55fa8e1185eec27b93b5451d0331901828a2.zip
Fixed implicits problem in specs; Manifest[Clas...
Fixed implicits problem in specs; Manifest[Class[_]] can now be generated. review by dubochet.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/reflect/Manifest.scala15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/library/scala/reflect/Manifest.scala b/src/library/scala/reflect/Manifest.scala
index b7cb86e1bd..d718011ff9 100644
--- a/src/library/scala/reflect/Manifest.scala
+++ b/src/library/scala/reflect/Manifest.scala
@@ -245,16 +245,15 @@ object Manifest {
override def toString = prefix.toString+"#"+name+argString
}
- /** Manifest for the abstract type `prefix # name'. `upperBound' is not
- * strictly necessary as it could be obtained by reflection. It was
- * added so that erasure can be calculated without reflection.
- * todo: remove after next bootstrap
+ /** Manifest for the unknown type `_ >: L <: U' in an existential.
*/
- def abstractType[T](prefix: Manifest[_], name: String, upperbound: ClassManifest[_], args: Manifest[_]*): Manifest[T] =
+ def wildcardType[T](lowerBound: Manifest[_], upperBound: Manifest[_]): Manifest[T] =
new (Manifest[T] @serializable) {
- def erasure = upperbound.erasure
- override val typeArguments = args.toList
- override def toString = prefix.toString+"#"+name+argString
+ def erasure = upperBound.erasure
+ override def toString =
+ "_" +
+ (if (lowerBound eq Nothing) "" else " >: "+lowerBound) +
+ (if (upperBound eq Nothing) "" else " <: "+upperBound)
}
/** Manifest for the intersection type `parents_0 with ... with parents_n'. */