aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-10-09 22:47:26 +0200
committerGuillaume Martres <smarter@ubuntu.com>2016-10-12 16:13:49 +0200
commitdf2187e51e7a38a6ca8260ab4a415a7cd5efdcfc (patch)
treee3251acde037800e843853f08d18e9e1481da292 /src/dotty/tools/dotc/typer/Typer.scala
parent6807b4454529b70d2d8a6819c51db850d06078a1 (diff)
downloaddotty-df2187e51e7a38a6ca8260ab4a415a7cd5efdcfc.tar.gz
dotty-df2187e51e7a38a6ca8260ab4a415a7cd5efdcfc.tar.bz2
dotty-df2187e51e7a38a6ca8260ab4a415a7cd5efdcfc.zip
Merge GenericType, TypeLambda and PolyType
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index e423082d5..6be119319 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -1061,12 +1061,12 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
}
}
- def typedTypeLambdaTree(tree: untpd.TypeLambdaTree)(implicit ctx: Context): Tree = track("typedTypeLambdaTree") {
- val TypeLambdaTree(tparams, body) = tree
+ def typedPolyTypeTree(tree: untpd.PolyTypeTree)(implicit ctx: Context): Tree = track("typedPolyTypeTree") {
+ val PolyTypeTree(tparams, body) = tree
index(tparams)
val tparams1 = tparams.mapconserve(typed(_).asInstanceOf[TypeDef])
val body1 = typedType(tree.body)
- assignType(cpy.TypeLambdaTree(tree)(tparams1, body1), tparams1, body1)
+ assignType(cpy.PolyTypeTree(tree)(tparams1, body1), tparams1, body1)
}
def typedByNameTypeTree(tree: untpd.ByNameTypeTree)(implicit ctx: Context): ByNameTypeTree = track("typedByNameTypeTree") {
@@ -1469,7 +1469,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
case tree: untpd.OrTypeTree => typedOrTypeTree(tree)
case tree: untpd.RefinedTypeTree => typedRefinedTypeTree(tree)
case tree: untpd.AppliedTypeTree => typedAppliedTypeTree(tree)
- case tree: untpd.TypeLambdaTree => typedTypeLambdaTree(tree)(localContext(tree, NoSymbol).setNewScope)
+ case tree: untpd.PolyTypeTree => typedPolyTypeTree(tree)(localContext(tree, NoSymbol).setNewScope)
case tree: untpd.ByNameTypeTree => typedByNameTypeTree(tree)
case tree: untpd.TypeBoundsTree => typedTypeBoundsTree(tree)
case tree: untpd.Alternative => typedAlternative(tree, pt)
@@ -1921,7 +1921,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
case _ =>
adaptOverloaded(ref)
}
- case poly: PolyType =>
+ case poly: PolyType if !(ctx.mode is Mode.Type) =>
if (pt.isInstanceOf[PolyProto]) tree
else {
var typeArgs = tree match {