Index: pkg/analyzer/lib/file_system/physical_file_system.dart |
diff --git a/pkg/analyzer/lib/file_system/physical_file_system.dart b/pkg/analyzer/lib/file_system/physical_file_system.dart |
index b77114967a1ee5c91e87bf3bcb0034d0fdb1c3ed..38fc38affe90e0764e4b8d1467a0b28a3a4d2d4a 100644 |
--- a/pkg/analyzer/lib/file_system/physical_file_system.dart |
+++ b/pkg/analyzer/lib/file_system/physical_file_system.dart |
@@ -217,6 +217,11 @@ class _PhysicalFolder extends _PhysicalResource implements Folder { |
@override |
Stream<WatchEvent> get changes => new DirectoryWatcher(_entry.path).events; |
+ /** |
+ * Return the underlying file being represented by this wrapper. |
+ */ |
+ io.Directory get _directory => _entry as io.Directory; |
+ |
@override |
String canonicalizePath(String relPath) { |
return normalize(join(path, relPath)); |
@@ -277,6 +282,16 @@ class _PhysicalFolder extends _PhysicalResource implements Folder { |
} |
@override |
+ Folder resolveSymbolicLinksSync() { |
+ try { |
+ return new _PhysicalFolder( |
+ new io.Directory(_directory.resolveSymbolicLinksSync())); |
+ } on io.FileSystemException catch (exception) { |
+ throw new FileSystemException(exception.path, exception.message); |
+ } |
+ } |
+ |
+ @override |
Uri toUri() => new Uri.directory(path); |
} |