aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/TypeUtils.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-07-11 17:45:09 +0200
committerMartin Odersky <odersky@gmail.com>2014-07-17 11:02:02 +0200
commitec972b74ada750b5565028053032204e7d31417d (patch)
tree8fa9f660400bfb7a4a352927354110f76f432eb8 /src/dotty/tools/dotc/transform/TypeUtils.scala
parent58f249d5d5acca1da3f4f2cdd417ba271d79819f (diff)
downloaddotty-ec972b74ada750b5565028053032204e7d31417d.tar.gz
dotty-ec972b74ada750b5565028053032204e7d31417d.tar.bz2
dotty-ec972b74ada750b5565028053032204e7d31417d.zip
Fix problem with dynamicSignature.
Pattern match needs to compare against list of names, not single name. Universal equality bites again... Also fix comment for ElimRepeated.
Diffstat (limited to 'src/dotty/tools/dotc/transform/TypeUtils.scala')
-rw-r--r--src/dotty/tools/dotc/transform/TypeUtils.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/TypeUtils.scala b/src/dotty/tools/dotc/transform/TypeUtils.scala
index 851029888..d9671a190 100644
--- a/src/dotty/tools/dotc/transform/TypeUtils.scala
+++ b/src/dotty/tools/dotc/transform/TypeUtils.scala
@@ -79,13 +79,14 @@ class TypeUtils(val self: Type) extends AnyVal {
*/
def dynamicSignature(implicit ctx: Context): Signature = self match {
case self: PolyType => self.resultType.dynamicSignature
- case self @ MethodType(nme.SELF, _) =>
+ case self @ MethodType(nme.SELF :: Nil, _) =>
val normalizedResultType = self.resultType match {
case rtp: MethodType => rtp
case rtp => ExprType(rtp)
}
normalizedResultType.signature
- case _ => Signature.NotAMethod
+ case _ =>
+ Signature.NotAMethod
}
/** The Seq type corresponding to this repeated parameter type */