Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(630)

Side by Side Diff: runtime/bin/builtin.dart

Issue 2759973004: Fix observatory tests broken by running dartfmt. Temporarily reverted formatting for evaluate_activ… (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | runtime/bin/common_patch.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 library builtin; 5 library builtin;
6
6 // NOTE: Do not import 'dart:io' in builtin. 7 // NOTE: Do not import 'dart:io' in builtin.
7 import 'dart:async'; 8 import 'dart:async';
8 import 'dart:collection'; 9 import 'dart:collection';
9 import 'dart:_internal' hide Symbol; 10 import 'dart:_internal' hide Symbol;
10 import 'dart:isolate'; 11 import 'dart:isolate';
11 import 'dart:typed_data'; 12 import 'dart:typed_data';
12 13
13 // Embedder sets this to true if the --trace-loading flag was passed on the 14 // Embedder sets this to true if the --trace-loading flag was passed on the
14 // command line. 15 // command line.
15 bool _traceLoading = false; 16 bool _traceLoading = false;
16 17
17
18 // Before handling an embedder entrypoint we finalize the setup of the 18 // Before handling an embedder entrypoint we finalize the setup of the
19 // dart:_builtin library. 19 // dart:_builtin library.
20 bool _setupCompleted = false; 20 bool _setupCompleted = false;
21 21
22
23 // The root library (aka the script) is imported into this library. The 22 // The root library (aka the script) is imported into this library. The
24 // standalone embedder uses this to lookup the main entrypoint in the 23 // standalone embedder uses this to lookup the main entrypoint in the
25 // root library's namespace. 24 // root library's namespace.
26 Function _getMainClosure() => main; 25 Function _getMainClosure() => main;
27 26
28
29 // 'print' implementation. 27 // 'print' implementation.
30 // The standalone embedder registers the closurized _print function with the 28 // The standalone embedder registers the closurized _print function with the
31 // dart:core library. 29 // dart:core library.
32 void _printString(String s) native "Builtin_PrintString"; 30 void _printString(String s) native "Builtin_PrintString";
33 31
34
35 void _print(arg) { 32 void _print(arg) {
36 _printString(arg.toString()); 33 _printString(arg.toString());
37 } 34 }
38 35
39
40 _getPrintClosure() => _print; 36 _getPrintClosure() => _print;
41 37
42
43 // Corelib 'Uri.base' implementation. 38 // Corelib 'Uri.base' implementation.
44 // Uri.base is susceptible to changes in the current working directory. 39 // Uri.base is susceptible to changes in the current working directory.
45 _getCurrentDirectoryPath() native "Builtin_GetCurrentDirectory"; 40 _getCurrentDirectoryPath() native "Builtin_GetCurrentDirectory";
46 41
47
48 Uri _uriBase() { 42 Uri _uriBase() {
49 // We are not using Dircetory.current here to limit the dependency 43 // We are not using Dircetory.current here to limit the dependency
50 // on dart:io. This code is the same as: 44 // on dart:io. This code is the same as:
51 // return new Uri.directory(Directory.current.path); 45 // return new Uri.directory(Directory.current.path);
52 var path = _getCurrentDirectoryPath(); 46 var path = _getCurrentDirectoryPath();
53 return new Uri.directory(path); 47 return new Uri.directory(path);
54 } 48 }
55 49
56
57 _getUriBaseClosure() => _uriBase; 50 _getUriBaseClosure() => _uriBase;
58 51
59 // Asynchronous loading of resources. 52 // Asynchronous loading of resources.
60 // The embedder forwards loading requests to the service isolate. 53 // The embedder forwards loading requests to the service isolate.
61 54
62 // A port for communicating with the service isolate for I/O. 55 // A port for communicating with the service isolate for I/O.
63 SendPort _loadPort; 56 SendPort _loadPort;
64 57
65 // The isolateId used to communicate with the service isolate for I/O. 58 // The isolateId used to communicate with the service isolate for I/O.
66 int _isolateId; 59 int _isolateId;
67 60
68 // Requests made to the service isolate over the load port. 61 // Requests made to the service isolate over the load port.
69 62
70 // Extra requests. Keep these in sync between loader.dart and builtin.dart. 63 // Extra requests. Keep these in sync between loader.dart and builtin.dart.
71 const _Dart_kInitLoader = 4; // Initialize the loader. 64 const _Dart_kInitLoader = 4; // Initialize the loader.
72 const _Dart_kResourceLoad = 5; // Resource class support. 65 const _Dart_kResourceLoad = 5; // Resource class support.
73 const _Dart_kGetPackageRootUri = 6; // Uri of the packages/ directory. 66 const _Dart_kGetPackageRootUri = 6; // Uri of the packages/ directory.
74 const _Dart_kGetPackageConfigUri = 7; // Uri of the .packages file. 67 const _Dart_kGetPackageConfigUri = 7; // Uri of the .packages file.
75 const _Dart_kResolvePackageUri = 8; // Resolve a package: uri. 68 const _Dart_kResolvePackageUri = 8; // Resolve a package: uri.
76 69
77 // Make a request to the loader. Future will complete with result which is 70 // Make a request to the loader. Future will complete with result which is
78 // either a Uri or a List<int>. 71 // either a Uri or a List<int>.
79 Future _makeLoaderRequest(int tag, String uri) { 72 Future _makeLoaderRequest(int tag, String uri) {
80 assert(_isolateId != null); 73 assert(_isolateId != null);
81 assert(_loadPort != null); 74 assert(_loadPort != null);
82 Completer completer = new Completer(); 75 Completer completer = new Completer();
83 RawReceivePort port = new RawReceivePort(); 76 RawReceivePort port = new RawReceivePort();
84 port.handler = (msg) { 77 port.handler = (msg) {
85 // Close the port. 78 // Close the port.
86 port.close(); 79 port.close();
87 completer.complete(msg); 80 completer.complete(msg);
88 }; 81 };
89 _loadPort.send([_traceLoading, _isolateId, tag, port.sendPort, uri]); 82 _loadPort.send([_traceLoading, _isolateId, tag, port.sendPort, uri]);
90 return completer.future; 83 return completer.future;
91 } 84 }
92 85
93
94 // The current working directory when the embedder was launched. 86 // The current working directory when the embedder was launched.
95 Uri _workingDirectory; 87 Uri _workingDirectory;
96 // The URI that the root script was loaded from. Remembered so that 88 // The URI that the root script was loaded from. Remembered so that
97 // package imports can be resolved relative to it. The root script is the basis 89 // package imports can be resolved relative to it. The root script is the basis
98 // for the root library in the VM. 90 // for the root library in the VM.
99 Uri _rootScript; 91 Uri _rootScript;
100 // The package root set on the command line. 92 // The package root set on the command line.
101 Uri _packageRoot; 93 Uri _packageRoot;
102 94
103 // Special handling for Windows paths so that they are compatible with URI 95 // Special handling for Windows paths so that they are compatible with URI
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 String _filePathFromUri(String userUri) { 286 String _filePathFromUri(String userUri) {
295 var uri = Uri.parse(userUri); 287 var uri = Uri.parse(userUri);
296 if (_traceLoading) { 288 if (_traceLoading) {
297 _log('Getting file path from: $uri'); 289 _log('Getting file path from: $uri');
298 } 290 }
299 291
300 var path; 292 var path;
301 switch (uri.scheme) { 293 switch (uri.scheme) {
302 case '': 294 case '':
303 case 'file': 295 case 'file':
304 return uri.toFilePath(); 296 return uri.toFilePath();
305 case 'package': 297 case 'package':
306 return _filePathFromUri(_resolvePackageUri(uri).toString()); 298 return _filePathFromUri(_resolvePackageUri(uri).toString());
307 case 'data': 299 case 'data':
308 case 'http': 300 case 'http':
309 case 'https': 301 case 'https':
310 return uri.toString(); 302 return uri.toString();
311 default: 303 default:
312 // Only handling file, http, and package URIs 304 // Only handling file, http, and package URIs
313 // in standalone binary. 305 // in standalone binary.
314 if (_traceLoading) { 306 if (_traceLoading) {
315 _log('Unknown scheme (${uri.scheme}) in $uri.'); 307 _log('Unknown scheme (${uri.scheme}) in $uri.');
316 } 308 }
317 throw 'Not a known scheme: $uri'; 309 throw 'Not a known scheme: $uri';
318 } 310 }
319 } 311 }
320 312
321 // Embedder Entrypoint. 313 // Embedder Entrypoint.
322 _libraryFilePath(String libraryUri) { 314 _libraryFilePath(String libraryUri) {
323 if (!_setupCompleted) { 315 if (!_setupCompleted) {
324 _setupHooks(); 316 _setupHooks();
325 } 317 }
326 int index = libraryUri.lastIndexOf('/'); 318 int index = libraryUri.lastIndexOf('/');
327 var path; 319 var path;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 if (_traceLoading) { 365 if (_traceLoading) {
374 _log("Request for package Uri resolution from user code: $packageUri"); 366 _log("Request for package Uri resolution from user code: $packageUri");
375 } 367 }
376 if (packageUri.scheme != "package") { 368 if (packageUri.scheme != "package") {
377 if (_traceLoading) { 369 if (_traceLoading) {
378 _log("Non-package Uri, returning unmodified: $packageUri"); 370 _log("Non-package Uri, returning unmodified: $packageUri");
379 } 371 }
380 // Return the incoming parameter if not passed a package: URI. 372 // Return the incoming parameter if not passed a package: URI.
381 return packageUri; 373 return packageUri;
382 } 374 }
383 var result = await _makeLoaderRequest(_Dart_kResolvePackageUri, 375 var result =
384 packageUri.toString()); 376 await _makeLoaderRequest(_Dart_kResolvePackageUri, packageUri.toString());
385 if (result is! Uri) { 377 if (result is! Uri) {
386 if (_traceLoading) { 378 if (_traceLoading) {
387 _log("Exception when resolving package URI: $packageUri"); 379 _log("Exception when resolving package URI: $packageUri");
388 } 380 }
389 result = null; 381 result = null;
390 } 382 }
391 if (_traceLoading) { 383 if (_traceLoading) {
392 _log("Resolved '$packageUri' to '$result'"); 384 _log("Resolved '$packageUri' to '$result'");
393 } 385 }
394 return result; 386 return result;
395 } 387 }
OLDNEW
« no previous file with comments | « no previous file | runtime/bin/common_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698