| Index: sdk/lib/io/directory_impl.dart
|
| diff --git a/sdk/lib/io/directory_impl.dart b/sdk/lib/io/directory_impl.dart
|
| index 3aaf2194d51ee9a1cefb4b0204dfa2c0d19eb01b..72ca527dcab23725d1c45612d4d47ec5191b60af 100644
|
| --- a/sdk/lib/io/directory_impl.dart
|
| +++ b/sdk/lib/io/directory_impl.dart
|
| @@ -18,9 +18,9 @@ class _Directory implements Directory {
|
|
|
| _Directory(String this._path);
|
| _Directory.fromPath(Path path) : this(path.toNativePath());
|
| - _Directory.current() : this(_current());
|
|
|
| external static String _current();
|
| + external static _setCurrent(String path);
|
| external static _createTemp(String template);
|
| external static int _exists(String path);
|
| external static _create(String path);
|
| @@ -29,6 +29,18 @@ class _Directory implements Directory {
|
| external static List _list(String path, bool recursive, bool followLinks);
|
| external static SendPort _newServicePort();
|
|
|
| + static Directory get current => new _Directory(_current());
|
| +
|
| + static void set current(path) {
|
| + if (path is Directory) path = path.path;
|
| + var result = _setCurrent(path);
|
| + if (result is ArgumentError) throw result;
|
| + if (result is OSError) {
|
| + throw new DirectoryIOException(
|
| + "Setting current working directory failed", path, result);
|
| + }
|
| + }
|
| +
|
| Future<bool> exists() {
|
| _ensureDirectoryService();
|
| List request = new List(2);
|
|
|