aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/FullParameterization.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-04-21 10:37:14 +0200
committerMartin Odersky <odersky@gmail.com>2015-04-22 17:19:34 +0200
commit2152b4b85fcfb48cb49868200c96fd47023602ea (patch)
tree5c6c779e042b419c69c40e74ed605e2dcb065ccd /src/dotty/tools/dotc/transform/FullParameterization.scala
parente3449e9fdbb3801eb07680e4938bc4c3c77ec3a8 (diff)
downloaddotty-2152b4b85fcfb48cb49868200c96fd47023602ea.tar.gz
dotty-2152b4b85fcfb48cb49868200c96fd47023602ea.tar.bz2
dotty-2152b4b85fcfb48cb49868200c96fd47023602ea.zip
New utility method in TypeUtils: ensureMethodic
Used in at least two places, so it's of general use.
Diffstat (limited to 'src/dotty/tools/dotc/transform/FullParameterization.scala')
-rw-r--r--src/dotty/tools/dotc/transform/FullParameterization.scala11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/dotty/tools/dotc/transform/FullParameterization.scala b/src/dotty/tools/dotc/transform/FullParameterization.scala
index acfeda48e..f46942fb3 100644
--- a/src/dotty/tools/dotc/transform/FullParameterization.scala
+++ b/src/dotty/tools/dotc/transform/FullParameterization.scala
@@ -6,6 +6,7 @@ import Types._
import Contexts._
import Symbols._
import Decorators._
+import TypeUtils._
import StdNames.nme
import NameOps._
import ast._
@@ -128,14 +129,8 @@ trait FullParameterization {
*/
def memberSignature(info: Type)(implicit ctx: Context): Signature = info match {
case info: PolyType => memberSignature(info.resultType)
- case info @ MethodType(nme.SELF :: Nil, _) =>
- val normalizedResultType = info.resultType match {
- case rtp: MethodType => rtp
- case rtp => ExprType(rtp)
- }
- normalizedResultType.signature
- case _ =>
- Signature.NotAMethod
+ case info @ MethodType(nme.SELF :: Nil, _) => info.resultType.ensureMethodic.signature
+ case _ => Signature.NotAMethod
}
/** The type parameters (skolems) of the method definition `originalDef`,