summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala14
-rw-r--r--src/library/scala/Dynamic.scala2
2 files changed, 8 insertions, 8 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 586740bce3..3337584420 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -3471,14 +3471,14 @@ trait Typers extends Modes {
// try to expand according to Dynamic rules.
if (qual.tpe.widen.typeSymbol isNonBottomSubClass DynamicClass) {
- val otherArgs = context.tree match {
- case Apply(tree1, args) if tree1 eq tree => args
- case _ => List()
- }
- var dynSelect = atPos(tree.pos) {
- Apply(Select(qual, nme.invokeDynamic), Literal(Constant(name.toString)) :: otherArgs)
+ var dynInvoke = Apply(Select(qual, nme.invokeDynamic), List(Literal(Constant(name.toString))))
+ context.tree match {
+ case Apply(tree1, args) if tree1 eq tree =>
+ ;
+ case _ =>
+ dynInvoke = Apply(dynInvoke, List())
}
- return typed1(util.trace("dynatype: ")(dynSelect), mode, pt)
+ return typed1(util.trace("dynatype: ")(dynInvoke), mode, pt)
}
if (settings.debug.value) {
diff --git a/src/library/scala/Dynamic.scala b/src/library/scala/Dynamic.scala
index 2d8dbc9977..2a1cabb51c 100644
--- a/src/library/scala/Dynamic.scala
+++ b/src/library/scala/Dynamic.scala
@@ -11,7 +11,7 @@ trait Dynamic {
* @param name The name of the invoked method
* @param args The arguments to the method
*/
- def invokeDynamic(name: String, args: Any*): Any
+ def invokeDynamic(name: String)(args: Any*): Any
/** Returns the underlying value typed as an instance of type T
* @param T The target type