diff options
author | Martin Odersky <odersky@gmail.com> | 2014-07-11 17:45:09 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-07-17 11:02:02 +0200 |
commit | ec972b74ada750b5565028053032204e7d31417d (patch) | |
tree | 8fa9f660400bfb7a4a352927354110f76f432eb8 /src/dotty/tools/dotc/transform/TypeUtils.scala | |
parent | 58f249d5d5acca1da3f4f2cdd417ba271d79819f (diff) | |
download | dotty-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.scala | 5 |
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 */ |