| OLD | NEW | 
|      1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file |      1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|      2 // for details. All rights reserved. Use of this source code is governed by a |      2 // for details. All rights reserved. Use of this source code is governed by a | 
|      3 // BSD-style license that can be found in the LICENSE file. |      3 // BSD-style license that can be found in the LICENSE file. | 
|      4  |      4  | 
|      5 #include "vm/parser.h" |      5 #include "vm/parser.h" | 
|      6  |      6  | 
|      7 #include "lib/invocation_mirror.h" |      7 #include "lib/invocation_mirror.h" | 
|      8 #include "platform/utils.h" |      8 #include "platform/utils.h" | 
|      9 #include "vm/bootstrap.h" |      9 #include "vm/bootstrap.h" | 
|     10 #include "vm/class_finalizer.h" |     10 #include "vm/class_finalizer.h" | 
| (...skipping 5299 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   5310   const Class& cls = Class::Handle(func.Owner()); |   5310   const Class& cls = Class::Handle(func.Owner()); | 
|   5311   const Library& library = Library::Handle(cls.library()); |   5311   const Library& library = Library::Handle(cls.library()); | 
|   5312   ASSERT(func.NumParameters() == params->parameters->length()); |   5312   ASSERT(func.NumParameters() == params->parameters->length()); | 
|   5313  |   5313  | 
|   5314   // Parse the function name out. |   5314   // Parse the function name out. | 
|   5315   const intptr_t native_pos = TokenPos(); |   5315   const intptr_t native_pos = TokenPos(); | 
|   5316   const String& native_name = ParseNativeDeclaration(); |   5316   const String& native_name = ParseNativeDeclaration(); | 
|   5317  |   5317  | 
|   5318   // Now resolve the native function to the corresponding native entrypoint. |   5318   // Now resolve the native function to the corresponding native entrypoint. | 
|   5319   const int num_params = NativeArguments::ParameterCountForResolution(func); |   5319   const int num_params = NativeArguments::ParameterCountForResolution(func); | 
 |   5320   bool auto_setup_scope = true; | 
|   5320   NativeFunction native_function = NativeEntry::ResolveNative( |   5321   NativeFunction native_function = NativeEntry::ResolveNative( | 
|   5321       library, native_name, num_params); |   5322       library, native_name, num_params, &auto_setup_scope); | 
|   5322   if (native_function == NULL) { |   5323   if (native_function == NULL) { | 
|   5323     ErrorMsg(native_pos, "native function '%s' cannot be found", |   5324     ErrorMsg(native_pos, "native function '%s' cannot be found", | 
|   5324         native_name.ToCString()); |   5325         native_name.ToCString()); | 
|   5325   } |   5326   } | 
 |   5327   func.SetIsNativeAutoSetupScope(auto_setup_scope); | 
|   5326  |   5328  | 
|   5327   // Now add the NativeBodyNode and return statement. |   5329   // Now add the NativeBodyNode and return statement. | 
|   5328   Dart_NativeEntryResolver resolver = library.native_entry_resolver(); |   5330   Dart_NativeEntryResolver resolver = library.native_entry_resolver(); | 
|   5329   bool is_bootstrap_native = Bootstrap::IsBootstapResolver(resolver); |   5331   bool is_bootstrap_native = Bootstrap::IsBootstapResolver(resolver); | 
|   5330   current_block_->statements->Add( |   5332   current_block_->statements->Add( | 
|   5331       new ReturnNode(TokenPos(), |   5333       new ReturnNode(TokenPos(), | 
|   5332                      new NativeBodyNode(TokenPos(), |   5334                      new NativeBodyNode(TokenPos(), | 
|   5333                                         Function::ZoneHandle(func.raw()), |   5335                                         Function::ZoneHandle(func.raw()), | 
|   5334                                         native_name, |   5336                                         native_name, | 
|   5335                                         native_function, |   5337                                         native_function, | 
| (...skipping 5415 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  10751 void Parser::SkipQualIdent() { |  10753 void Parser::SkipQualIdent() { | 
|  10752   ASSERT(IsIdentifier()); |  10754   ASSERT(IsIdentifier()); | 
|  10753   ConsumeToken(); |  10755   ConsumeToken(); | 
|  10754   if (CurrentToken() == Token::kPERIOD) { |  10756   if (CurrentToken() == Token::kPERIOD) { | 
|  10755     ConsumeToken();  // Consume the kPERIOD token. |  10757     ConsumeToken();  // Consume the kPERIOD token. | 
|  10756     ExpectIdentifier("identifier expected after '.'"); |  10758     ExpectIdentifier("identifier expected after '.'"); | 
|  10757   } |  10759   } | 
|  10758 } |  10760 } | 
|  10759  |  10761  | 
|  10760 }  // namespace dart |  10762 }  // namespace dart | 
| OLD | NEW |