Index: sdk/lib/_internal/lib/js_helper.dart |
=================================================================== |
--- sdk/lib/_internal/lib/js_helper.dart (revision 24939) |
+++ sdk/lib/_internal/lib/js_helper.dart (working copy) |
@@ -63,20 +63,20 @@ |
return res; |
} |
-createInvocationMirror(String name, internalName, type, arguments, |
+createInvocationMirror(String name, internalName, kind, arguments, |
argumentNames) { |
return new JSInvocationMirror(name, |
internalName, |
- type, |
+ kind, |
arguments, |
argumentNames); |
} |
-createUnmangledInvocationMirror(Symbol symbol, internalName, type, arguments, |
+createUnmangledInvocationMirror(Symbol symbol, internalName, kind, arguments, |
argumentNames) { |
return new JSInvocationMirror(symbol, |
internalName, |
- type, |
+ kind, |
arguments, |
argumentNames); |
} |
@@ -591,7 +591,12 @@ |
String selectorName = 'call\$$argumentCount$buffer'; |
var jsFunction = JS('var', '#[#]', function, selectorName); |
if (jsFunction == null) { |
- throw new NoSuchMethodError(function, selectorName, arguments, {}); |
+ return function.noSuchMethod(createUnmangledInvocationMirror( |
+ const Symbol('call'), |
+ selectorName, |
+ JSInvocationMirror.METHOD, |
+ arguments, |
+ namedArguments == null ? null : namedArguments.keys.toList())); |
} |
// We bound 'this' to [function] because of how we compile |
// closures: escaped local variables are stored and accessed through |