aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Checking.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-02-09 13:22:07 +0100
committerMartin Odersky <odersky@gmail.com>2016-02-19 14:02:17 +0100
commit8158279b556bc9f39d59adadefeb85d44c93433e (patch)
tree99c6501fa9dba8e8572c2ca576d01c3e25e30e34 /src/dotty/tools/dotc/typer/Checking.scala
parent8441de7a907996361a78d744d3364cee3d558f84 (diff)
downloaddotty-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.scala7
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)