diff options
author | odersky <odersky@gmail.com> | 2017-02-16 10:56:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-16 10:56:46 +0100 |
commit | 6df672c7e7be65d7be1cd6524c610aed4f35178c (patch) | |
tree | a1b709dc631f0891b6a2c7c628439443c75f14e2 /compiler/src/dotty/tools/dotc/typer/Typer.scala | |
parent | 39af2f595979c6bbeb3cfa52d401cf59be68126b (diff) | |
parent | 93a2d0653e6b74a0f88825ac8a522da87e474f2a (diff) | |
download | dotty-6df672c7e7be65d7be1cd6524c610aed4f35178c.tar.gz dotty-6df672c7e7be65d7be1cd6524c610aed4f35178c.tar.bz2 dotty-6df672c7e7be65d7be1cd6524c610aed4f35178c.zip |
Merge pull request #1962 from dotty-staging/centralize-function-logic
Factor out logic for scala functions.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/typer/Typer.scala | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/Typer.scala b/compiler/src/dotty/tools/dotc/typer/Typer.scala index 52f0a7ec7..2b57cf778 100644 --- a/compiler/src/dotty/tools/dotc/typer/Typer.scala +++ b/compiler/src/dotty/tools/dotc/typer/Typer.scala @@ -669,9 +669,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit def typedFunction(tree: untpd.Function, pt: Type)(implicit ctx: Context) = track("typedFunction") { val untpd.Function(args, body) = tree if (ctx.mode is Mode.Type) { - val funCls = - if (tree.isInstanceOf[untpd.ImplicitFunction]) defn.ImplicitFunctionClass(args.length) - else defn.FunctionClass(args.length) + val funCls = defn.FunctionClass(args.length, tree.isInstanceOf[untpd.ImplicitFunction]) typed(cpy.AppliedTypeTree(tree)( untpd.TypeTree(funCls.typeRef), args :+ body), pt) } @@ -1942,7 +1940,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit !untpd.isImplicitClosure(tree) && !isApplyProto(pt) && !ctx.isAfterTyper) { - typr.println("insert apply on implicit $tree") + typr.println(i"insert apply on implicit $tree") typed(untpd.Select(untpd.TypedSplice(tree), nme.apply), pt) } else if (ctx.mode is Mode.Pattern) { |