aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorNicolas Stucki <nicolas.stucki@gmail.com>2016-09-04 13:03:08 +0200
committerNicolas Stucki <nicolas.stucki@gmail.com>2016-09-05 13:47:52 +0200
commit0ee74cc0f8252caa189f0a7aaf8a274df486f971 (patch)
tree6a8e2aca7680841b6d7a496a95b7492b141f23cf /src/dotty/tools/dotc/typer/Applications.scala
parentf001eef2213bc5b1affde992aae7780c15d5fd44 (diff)
downloaddotty-0ee74cc0f8252caa189f0a7aaf8a274df486f971.tar.gz
dotty-0ee74cc0f8252caa189f0a7aaf8a274df486f971.tar.bz2
dotty-0ee74cc0f8252caa189f0a7aaf8a274df486f971.zip
Reformat code after fixes on scala.Dynamic.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala28
1 files changed, 6 insertions, 22 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index 52e80930e..72c971925 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -591,17 +591,7 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
fun1.tpe match {
case ErrorType => tree.withType(ErrorType)
- case TryDynamicCallType =>
- tree.fun match {
- case Select(qual, name) if !isDynamicMethod(name) =>
- typedDynamicApply(qual, name, None, tree.args, pt)(tree)
- case TypeApply(Select(qual, name), targs) if !isDynamicMethod(name) =>
- typedDynamicApply(qual, name, Some(targs), tree.args, pt)(tree)
- case TypeApply(fun, targs) =>
- typedDynamicApply(fun, nme.apply, Some(targs), tree.args, pt)(tree)
- case fun =>
- typedDynamicApply(fun, nme.apply, None, tree.args, pt)(tree)
- }
+ case TryDynamicCallType => typedDynamicApply(tree, pt)
case _ =>
tryEither {
implicit ctx => simpleApply(fun1, proto)
@@ -683,18 +673,12 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
}
case _ =>
}
- if (typedFn.tpe eq TryDynamicCallType) {
- (pt, typedFn) match {
- case (_: FunProto, _)=>
- tree.withType(TryDynamicCallType)
- case (_, Select(qual, name)) =>
- typedDynamicSelect(qual, name, Some(typedArgs), pt)
- case _ =>
- tree.withType(TryDynamicCallType)
- }
- } else {
- assignType(cpy.TypeApply(tree)(typedFn, typedArgs), typedFn, typedArgs)
+ def tryDynamicTypeApply(): Tree = typedFn match {
+ case typedFn: Select if !pt.isInstanceOf[FunProto] => typedDynamicSelect(typedFn, typedArgs, pt)
+ case _ => tree.withType(TryDynamicCallType)
}
+ if (typedFn.tpe eq TryDynamicCallType) tryDynamicTypeApply()
+ else assignType(cpy.TypeApply(tree)(typedFn, typedArgs), typedFn, typedArgs)
}
/** Rewrite `new Array[T](....)` if T is an unbounded generic to calls to newGenericArray.