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

Side by Side Diff: dart/lib/compiler/implementation/filenames.dart

Issue 10207010: Make dart2js work on Windows. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address review comments Created 8 years, 8 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 | Annotate | Revision Log
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('filenames'); 5 #library('filenames');
6 6
7 #import('dart:io'); 7 #import('dart:io');
8 #import('dart:uri');
8 9
9 // TODO(ahe): This library should be replaced by a general 10 // TODO(ahe): This library should be replaced by a general
10 // path-munging library. 11 // path-munging library.
11 // 12 //
12 // See also: 13 // See also:
13 // http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx 14 // http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx
14 15
15 String nativeToUriPath(String filename) { 16 String nativeToUriPath(String filename) {
16 if (Platform.operatingSystem() != 'windows') return filename; 17 if (Platform.operatingSystem() != 'windows') return filename;
18 filename = filename.toLowerCase();
17 filename = filename.replaceAll('\\', '/'); 19 filename = filename.replaceAll('\\', '/');
18 if (filename.length > 2 && filename[1] == ':') { 20 if (filename.length > 2 && filename[1] == ':') {
19 filename = "/$filename"; 21 filename = "/$filename";
20 } 22 }
21 return filename; 23 return filename;
22 } 24 }
23 25
24 String uriPathToNative(String path) { 26 String uriPathToNative(String path) {
25 if (Platform.operatingSystem() != 'windows') return path; 27 if (Platform.operatingSystem() != 'windows') return path;
28 path = path.toLowerCase();
26 if (path.length > 3 && path[0] == '/' && path[2] == ':') { 29 if (path.length > 3 && path[0] == '/' && path[2] == ':') {
27 return path.substring(1); 30 return path.substring(1);
28 } else { 31 } else {
29 return path; 32 return path;
30 } 33 }
31 } 34 }
35
36 Uri getCurrentDirectory() {
37 final String dir = nativeToUriPath(new File('.').fullPathSync());
38 return new Uri(scheme: 'file', path: appendSlash(dir));
39 }
40
41 String appendSlash(String path) => path.endsWith('/') ? path : '$path/';
OLDNEW
« no previous file with comments | « dart/lib/compiler/implementation/dart2js.dart ('k') | dart/lib/compiler/implementation/util/uri_extras.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698