| Index: runtime/vm/code_generator.cc
|
| ===================================================================
|
| --- runtime/vm/code_generator.cc (revision 22181)
|
| +++ runtime/vm/code_generator.cc (working copy)
|
| @@ -1086,7 +1086,14 @@
|
| const Array& orig_arguments_desc = Array::CheckedHandle(arguments.ArgAt(2));
|
| const Array& orig_arguments = Array::CheckedHandle(arguments.ArgAt(3));
|
|
|
| - const String& original_function_name = String::Handle(ic_data.target_name());
|
| + String& original_function_name = String::Handle(ic_data.target_name());
|
| + if (receiver.IsClosure()) {
|
| + // For closure the function name is always 'call'. Replace it with the
|
| + // name of the closurized function so that exception contains more
|
| + // relevant information.
|
| + const Function& function = Function::Handle(Closure::function(receiver));
|
| + original_function_name = function.QualifiedUserVisibleName();
|
| + }
|
| const Object& result = Object::Handle(
|
| DartEntry::InvokeNoSuchMethod(receiver,
|
| original_function_name,
|
|
|