aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2016-03-18 11:54:33 +0100
committerodersky <odersky@gmail.com>2016-03-18 11:54:33 +0100
commite73ef776e1754f5e207a631d4c1750743b3d4a9b (patch)
treee3ab0183a36550465063d736313e5df68ddfe7b5 /src/dotty/tools/dotc/typer/Applications.scala
parentbd8a6dc79bf53193af617d08cd1b4fdef0ee0bb2 (diff)
parent208c91a3749910ff23ae65f7ff36d7b3cf8d62db (diff)
downloaddotty-e73ef776e1754f5e207a631d4c1750743b3d4a9b.tar.gz
dotty-e73ef776e1754f5e207a631d4c1750743b3d4a9b.tar.bz2
dotty-e73ef776e1754f5e207a631d4c1750743b3d4a9b.zip
Merge pull request #1166 from dotty-staging/fix-#1136
Fix typing of SeqLiterals
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index d655b25f6..f3903e539 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -442,7 +442,10 @@ trait Applications extends Compatibility { self: Typer =>
def makeVarArg(n: Int, elemFormal: Type): Unit = {
val args = typedArgBuf.takeRight(n).toList
typedArgBuf.trimEnd(n)
- val seqLit = if (methodType.isJava) JavaSeqLiteral(args) else SeqLiteral(args)
+ val elemtpt = TypeTree(elemFormal)
+ val seqLit =
+ if (methodType.isJava) JavaSeqLiteral(args, elemtpt)
+ else SeqLiteral(args, elemtpt)
typedArgBuf += seqToRepeated(seqLit)
}
@@ -771,7 +774,7 @@ trait Applications extends Compatibility { self: Typer =>
for (argType <- argTypes) assert(!argType.isInstanceOf[TypeBounds], unapplyApp.tpe.show)
val bunchedArgs = argTypes match {
case argType :: Nil =>
- if (argType.isRepeatedParam) untpd.SeqLiteral(args) :: Nil
+ if (argType.isRepeatedParam) untpd.SeqLiteral(args, untpd.TypeTree()) :: Nil
else if (args.lengthCompare(1) > 0 && ctx.canAutoTuple) untpd.Tuple(args) :: Nil
else args
case _ => args