diff options
author | Martin Odersky <odersky@gmail.com> | 2015-04-21 10:37:14 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-04-22 17:19:34 +0200 |
commit | 2152b4b85fcfb48cb49868200c96fd47023602ea (patch) | |
tree | 5c6c779e042b419c69c40e74ed605e2dcb065ccd /src/dotty/tools/dotc/transform/FullParameterization.scala | |
parent | e3449e9fdbb3801eb07680e4938bc4c3c77ec3a8 (diff) | |
download | dotty-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.scala | 11 |
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`, |