| Index: runtime/vm/flow_graph_builder.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_builder.cc (revision 29041)
|
| +++ runtime/vm/flow_graph_builder.cc (working copy)
|
| @@ -2746,7 +2746,8 @@
|
| node->receiver(),
|
| getter_name,
|
| arguments,
|
| - false); // Don't save last argument.
|
| + false, // Don't save last argument.
|
| + true); // Super invocation.
|
| ReturnDefinition(call);
|
| return;
|
| } else {
|
| @@ -2824,7 +2825,8 @@
|
| node->receiver(),
|
| setter_name,
|
| arguments,
|
| - result_is_needed); // Save last arg if result is needed.
|
| + result_is_needed, // Save last arg if result is needed.
|
| + true); // Super invocation.
|
| } else {
|
| // Throw a NoSuchMethodError.
|
| ArgumentListNode* arguments = new ArgumentListNode(node->token_pos());
|
| @@ -3180,7 +3182,8 @@
|
| node->array(),
|
| Symbols::IndexToken(),
|
| arguments,
|
| - false); // Don't save last arg.
|
| + false, // Don't save last arg.
|
| + true); // Super invocation.
|
| ReturnDefinition(call);
|
| return;
|
| }
|
| @@ -3241,7 +3244,8 @@
|
| node->array(),
|
| Symbols::AssignIndexToken(),
|
| arguments,
|
| - result_is_needed); // Save last arg if result is needed.
|
| + result_is_needed, // Save last arg if result is needed.
|
| + true); // Super invocation.
|
| if (result_is_needed) {
|
| Do(call);
|
| // BuildStaticNoSuchMethodCall stores the value in expression_temp.
|
| @@ -3622,7 +3626,8 @@
|
| AstNode* receiver,
|
| const String& method_name,
|
| ArgumentListNode* method_arguments,
|
| - bool save_last_arg) {
|
| + bool save_last_arg,
|
| + bool is_super_invocation) {
|
| intptr_t args_pos = method_arguments->token_pos();
|
| LocalVariable* temp = NULL;
|
| if (save_last_arg) {
|
| @@ -3632,7 +3637,8 @@
|
| Parser::BuildNoSuchMethodArguments(args_pos,
|
| method_name,
|
| *method_arguments,
|
| - temp);
|
| + temp,
|
| + is_super_invocation);
|
| const Function& no_such_method_func = Function::ZoneHandle(
|
| Resolver::ResolveDynamicAnyArgs(target_class, Symbols::NoSuchMethod()));
|
| // We are guaranteed to find noSuchMethod of class Object.
|
|
|