| 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 <stdlib.h> | 5 #include <stdlib.h> |
| 6 #include <string.h> | 6 #include <string.h> |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include "include/dart_api.h" | 9 #include "include/dart_api.h" |
| 10 #include "include/dart_debugger_api.h" | 10 #include "include/dart_debugger_api.h" |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 if (tag == kCanonicalizeUrl) { | 246 if (tag == kCanonicalizeUrl) { |
| 247 // If this is a Dart Scheme URL then it is not modified as it will be | 247 // If this is a Dart Scheme URL then it is not modified as it will be |
| 248 // handled by the VM internally. | 248 // handled by the VM internally. |
| 249 if (is_dart_scheme_url) { | 249 if (is_dart_scheme_url) { |
| 250 return url; | 250 return url; |
| 251 } | 251 } |
| 252 // Create a canonical path based on the including library and current url. | 252 // Create a canonical path based on the including library and current url. |
| 253 return DartUtils::CanonicalizeURL(NULL, library, url_string); | 253 return DartUtils::CanonicalizeURL(NULL, library, url_string); |
| 254 } | 254 } |
| 255 if (is_dart_scheme_url) { | 255 if (is_dart_scheme_url) { |
| 256 return Dart_Error("Do not know how to load '%s'", url_string); | 256 // Handle imports of dart:io. |
| 257 if (DartUtils::IsDartIOLibURL(url_string) && (tag == kImportTag)) { |
| 258 return Builtin::LoadLibrary(Builtin::kIOLibrary); |
| 259 } else { |
| 260 return Dart_Error("Do not know how to load '%s'", url_string); |
| 261 } |
| 257 } | 262 } |
| 258 result = DartUtils::LoadSource(NULL, library, url, tag, url_string); | 263 result = DartUtils::LoadSource(NULL, library, url, tag, url_string); |
| 259 if (!Dart_IsError(result) && (tag == kImportTag)) { | 264 if (!Dart_IsError(result) && (tag == kImportTag)) { |
| 260 Builtin::ImportLibrary(result); | 265 Builtin::ImportLibrary(result, Builtin::kBuiltinLibrary); |
| 261 } | 266 } |
| 262 return result; | 267 return result; |
| 263 } | 268 } |
| 264 | 269 |
| 265 | 270 |
| 266 static Dart_Handle LoadScript(const char* script_name) { | 271 static Dart_Handle LoadScript(const char* script_name) { |
| 267 Dart_Handle source = DartUtils::ReadStringFromFile(script_name); | 272 Dart_Handle source = DartUtils::ReadStringFromFile(script_name); |
| 268 if (Dart_IsError(source)) { | 273 if (Dart_IsError(source)) { |
| 269 return source; | 274 return source; |
| 270 } | 275 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 301 char errbuf[256]; | 306 char errbuf[256]; |
| 302 snprintf(errbuf, sizeof(errbuf), | 307 snprintf(errbuf, sizeof(errbuf), |
| 303 "Expected a library when loading script: %s", | 308 "Expected a library when loading script: %s", |
| 304 canonical_script_name); | 309 canonical_script_name); |
| 305 *error = strdup(errbuf); | 310 *error = strdup(errbuf); |
| 306 Dart_ExitScope(); | 311 Dart_ExitScope(); |
| 307 Dart_ShutdownIsolate(); | 312 Dart_ShutdownIsolate(); |
| 308 return false; | 313 return false; |
| 309 } | 314 } |
| 310 if (script_snapshot_buffer == NULL) { | 315 if (script_snapshot_buffer == NULL) { |
| 311 Builtin::ImportLibrary(library); // Implicitly import builtin into app. | 316 // Implicitly import builtin into app. |
| 317 Builtin::ImportLibrary(library, Builtin::kBuiltinLibrary); |
| 312 } | 318 } |
| 313 if (snapshot_buffer != NULL) { | 319 if (snapshot_buffer != NULL) { |
| 314 // Setup the native resolver as the snapshot does not carry it. | 320 // Setup the native resolver as the snapshot does not carry it. |
| 315 Builtin::SetNativeResolver(); | 321 Builtin::SetNativeResolver(Builtin::kBuiltinLibrary); |
| 322 Builtin::SetNativeResolver(Builtin::kIOLibrary); |
| 316 } | 323 } |
| 317 Dart_ExitScope(); | 324 Dart_ExitScope(); |
| 318 return true; | 325 return true; |
| 319 } | 326 } |
| 320 | 327 |
| 321 | 328 |
| 322 static bool CaptureScriptSnapshot() { | 329 static bool CaptureScriptSnapshot() { |
| 323 char* error = NULL; | 330 char* error = NULL; |
| 324 Dart_Handle result; | 331 Dart_Handle result; |
| 325 | 332 |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 561 Dart_ExitScope(); | 568 Dart_ExitScope(); |
| 562 // Dump symbol information for the profiler. | 569 // Dump symbol information for the profiler. |
| 563 DumpPprofSymbolInfo(); | 570 DumpPprofSymbolInfo(); |
| 564 // Shutdown the isolate. | 571 // Shutdown the isolate. |
| 565 Dart_ShutdownIsolate(); | 572 Dart_ShutdownIsolate(); |
| 566 // Terminate event handler. | 573 // Terminate event handler. |
| 567 EventHandler::Terminate(); | 574 EventHandler::Terminate(); |
| 568 | 575 |
| 569 return 0; | 576 return 0; |
| 570 } | 577 } |
| OLD | NEW |