| Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| index b773f951f9a8642e8b5e173e54fc757832eaf8bd..51d36ecf1fca60ac5fd2685445f9b32463ce3891 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| @@ -207,6 +207,16 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
|
| }
|
| }
|
|
|
| + List<js.Expression> compileStaticArgumentList(
|
| + Selector selector,
|
| + Element target, /* TODO(karlklose): this should be the signature. */
|
| + List<tree_ir.Expression> arguments) {
|
| + return selector.makeArgumentsList(
|
| + target.implementation,
|
| + visitArguments(arguments),
|
| + compileConstant);
|
| + }
|
| +
|
| @override
|
| js.Expression visitInvokeConstructor(tree_ir.InvokeConstructor node) {
|
| checkStaticTargetIsValid(node, node.target);
|
| @@ -215,7 +225,8 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
|
| registry.registerInstantiatedClass(node.target.enclosingClass);
|
| Selector selector = node.selector;
|
| FunctionElement target = node.target;
|
| - List<js.Expression> arguments = visitArguments(node.arguments);
|
| + List<js.Expression> arguments =
|
| + compileStaticArgumentList(selector, target, node.arguments);
|
| return buildStaticInvoke(selector, target, arguments);
|
| }
|
|
|
| @@ -267,7 +278,8 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
|
| }
|
| Selector selector = node.selector;
|
| FunctionElement target = node.target;
|
| - List<js.Expression> arguments = visitArguments(node.arguments);
|
| + List<js.Expression> arguments =
|
| + compileStaticArgumentList(selector, target, node.arguments);
|
| return buildStaticInvoke(selector, target, arguments);
|
| }
|
|
|
|
|