Index: runtime/vm/parser.cc |
=================================================================== |
--- runtime/vm/parser.cc (revision 24274) |
+++ runtime/vm/parser.cc (working copy) |
@@ -802,9 +802,6 @@ |
case RawFunction::kMethodExtractor: |
node_sequence = parser.ParseMethodExtractor(func); |
break; |
- case RawFunction::kNoSuchMethodDispatcher: |
- node_sequence = parser.ParseNoSuchMethodDispatcher(func); |
- break; |
default: |
UNREACHABLE(); |
} |
@@ -1137,46 +1134,6 @@ |
} |
-SequenceNode* Parser::ParseNoSuchMethodDispatcher(const Function& func) { |
- TRACE_PARSER("ParseNoSuchMethodDispatcher"); |
- ParamList params; |
- |
- ASSERT(func.IsNoSuchMethodDispatcher()); |
- intptr_t token_pos = func.token_pos(); |
- ASSERT(func.token_pos() == 0); |
- ASSERT(current_class().raw() == func.Owner()); |
- params.AddReceiver(ReceiverType(token_pos)); |
- ASSERT(func.num_fixed_parameters() == 1); // Receiver. |
- ASSERT(!func.HasOptionalParameters()); |
- |
- // Build local scope for function and populate with the formal parameters. |
- OpenFunctionBlock(func); |
- LocalScope* scope = current_block_->scope; |
- AddFormalParamsToScope(¶ms, scope); |
- |
- // Receiver is local 0. |
- LocalVariable* receiver = scope->VariableAt(0); |
- LoadLocalNode* load_receiver = new LoadLocalNode(token_pos, receiver); |
- |
- ArgumentListNode* func_args = new ArgumentListNode(token_pos); |
- func_args->Add(load_receiver); |
- const String& func_name = String::ZoneHandle(func.name()); |
- ArgumentListNode* arguments = BuildNoSuchMethodArguments(token_pos, |
- func_name, |
- *func_args); |
- const Function& no_such_method = Function::ZoneHandle( |
- Resolver::ResolveDynamicAnyArgs(Class::Handle(func.Owner()), |
- Symbols::NoSuchMethod())); |
- StaticCallNode* call = |
- new StaticCallNode(token_pos, no_such_method, arguments); |
- |
- |
- ReturnNode* return_node = new ReturnNode(token_pos, call); |
- current_block_->statements->Add(return_node); |
- return CloseBlock(); |
-} |
- |
- |
void Parser::SkipBlock() { |
ASSERT(CurrentToken() == Token::kLBRACE); |
GrowableArray<Token::Kind> token_stack(8); |