diff options
author | Martin Odersky <odersky@gmail.com> | 2013-12-18 11:29:13 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-12-18 11:29:13 +0100 |
commit | 15d8a2e9804fe55c9261e195088da55c0eaa6803 (patch) | |
tree | c9cfbfe068b7f301c43e9987959f29843cf715dc /src/dotty/tools/dotc/ast/untpd.scala | |
parent | 6b106397a683b9de4bf05da7e768ebf747085c55 (diff) | |
download | dotty-15d8a2e9804fe55c9261e195088da55c0eaa6803.tar.gz dotty-15d8a2e9804fe55c9261e195088da55c0eaa6803.tar.bz2 dotty-15d8a2e9804fe55c9261e195088da55c0eaa6803.zip |
Making sure New's always end in an application.
Diffstat (limited to 'src/dotty/tools/dotc/ast/untpd.scala')
-rw-r--r-- | src/dotty/tools/dotc/ast/untpd.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/ast/untpd.scala b/src/dotty/tools/dotc/ast/untpd.scala index 351548d91..740e8f110 100644 --- a/src/dotty/tools/dotc/ast/untpd.scala +++ b/src/dotty/tools/dotc/ast/untpd.scala @@ -107,7 +107,7 @@ object untpd extends Trees.Instance[Untyped] with TreeInfo[Untyped] { } var prefix: Tree = Select(New(tycon), nme.CONSTRUCTOR) if (targs.nonEmpty) prefix = TypeApply(prefix, targs) - (prefix /: argss)(Apply(_, _)) + ensureApplied((prefix /: argss)(Apply(_, _))) } def Block(stat: Tree, expr: Tree): Block = @@ -116,6 +116,11 @@ object untpd extends Trees.Instance[Untyped] with TreeInfo[Untyped] { def Apply(fn: Tree, arg: Tree): Apply = Apply(fn, arg :: Nil) + def ensureApplied(tpt: Tree) = tpt match { + case _: Apply => tpt + case _ => Apply(tpt, Nil) + } + def AppliedTypeTree(tpt: Tree, arg: Tree): AppliedTypeTree = AppliedTypeTree(tpt, arg :: Nil) |