diff options
author | Martin Odersky <odersky@gmail.com> | 2016-02-09 13:22:07 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-02-19 14:02:17 +0100 |
commit | 8158279b556bc9f39d59adadefeb85d44c93433e (patch) | |
tree | 99c6501fa9dba8e8572c2ca576d01c3e25e30e34 /src/dotty/tools/dotc/typer/Checking.scala | |
parent | 8441de7a907996361a78d744d3364cee3d558f84 (diff) | |
download | dotty-8158279b556bc9f39d59adadefeb85d44c93433e.tar.gz dotty-8158279b556bc9f39d59adadefeb85d44c93433e.tar.bz2 dotty-8158279b556bc9f39d59adadefeb85d44c93433e.zip |
Simplify logic in matchNamed
Diffstat (limited to 'src/dotty/tools/dotc/typer/Checking.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Checking.scala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/typer/Checking.scala b/src/dotty/tools/dotc/typer/Checking.scala index fec5b86f8..7e279b9e4 100644 --- a/src/dotty/tools/dotc/typer/Checking.scala +++ b/src/dotty/tools/dotc/typer/Checking.scala @@ -56,12 +56,11 @@ object Checking { case AppliedTypeTree(tycon, args) => // If `args` is a list of named arguments, return corresponding type parameters, // otherwise return type parameters unchanged - def matchNamed(tparams: List[TypeSymbol], args: List[Tree]): List[Symbol] = args match { - case (_: NamedArg) :: _ => + def matchNamed(tparams: List[TypeSymbol], args: List[Tree]): List[Symbol] = + if (hasNamedArg(args)) for (NamedArg(name, _) <- args) yield tycon.tpe.member(name).symbol - case _ => + else tparams - } val tparams = matchNamed(tycon.tpe.typeSymbol.typeParams, args) val bounds = tparams.map(tparam => tparam.info.asSeenFrom(tycon.tpe.normalizedPrefix, tparam.owner.owner).bounds) |