| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 analyzer.file_system.memory_file_system; | 5 library analyzer.file_system.memory_file_system; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 import 'dart:convert'; | 9 import 'dart:convert'; |
| 10 import 'dart:core' hide Resource; | 10 import 'dart:core' hide Resource; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 class MemoryResourceProvider implements ResourceProvider { | 23 class MemoryResourceProvider implements ResourceProvider { |
| 24 final Map<String, _MemoryResource> _pathToResource = | 24 final Map<String, _MemoryResource> _pathToResource = |
| 25 new HashMap<String, _MemoryResource>(); | 25 new HashMap<String, _MemoryResource>(); |
| 26 final Map<String, List<int>> _pathToBytes = new HashMap<String, List<int>>(); | 26 final Map<String, List<int>> _pathToBytes = new HashMap<String, List<int>>(); |
| 27 final Map<String, int> _pathToTimestamp = new HashMap<String, int>(); | 27 final Map<String, int> _pathToTimestamp = new HashMap<String, int>(); |
| 28 final Map<String, List<StreamController<WatchEvent>>> _pathToWatchers = | 28 final Map<String, List<StreamController<WatchEvent>>> _pathToWatchers = |
| 29 new HashMap<String, List<StreamController<WatchEvent>>>(); | 29 new HashMap<String, List<StreamController<WatchEvent>>>(); |
| 30 int nextStamp = 0; | 30 int nextStamp = 0; |
| 31 | 31 |
| 32 final Context _pathContext; | 32 final Context _pathContext; |
| 33 |
| 33 @override | 34 @override |
| 34 final AbsolutePathContext absolutePathContext; | 35 final AbsolutePathContext absolutePathContext; |
| 35 | 36 |
| 36 MemoryResourceProvider({bool isWindows: false}) | 37 MemoryResourceProvider({bool isWindows: false}) |
| 37 : _pathContext = isWindows ? windows : posix, | 38 : _pathContext = isWindows ? windows : posix, |
| 38 absolutePathContext = new AbsolutePathContext(isWindows); | 39 absolutePathContext = new AbsolutePathContext(isWindows); |
| 39 | 40 |
| 40 @override | 41 @override |
| 41 Context get pathContext => _pathContext; | 42 Context get pathContext => _pathContext; |
| 42 | 43 |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 String readAsStringSync() { | 303 String readAsStringSync() { |
| 303 throw new FileSystemException(path, 'File could not be read'); | 304 throw new FileSystemException(path, 'File could not be read'); |
| 304 } | 305 } |
| 305 | 306 |
| 306 @override | 307 @override |
| 307 File renameSync(String newPath) { | 308 File renameSync(String newPath) { |
| 308 throw new FileSystemException(path, 'File could not be renamed'); | 309 throw new FileSystemException(path, 'File could not be renamed'); |
| 309 } | 310 } |
| 310 | 311 |
| 311 @override | 312 @override |
| 313 File resolveSymbolicLinksSync() { |
| 314 return throw new FileSystemException(path, "File does not exist"); |
| 315 } |
| 316 |
| 317 @override |
| 312 Uri toUri() => new Uri.file(path, windows: _provider.pathContext == windows); | 318 Uri toUri() => new Uri.file(path, windows: _provider.pathContext == windows); |
| 313 | 319 |
| 314 @override | 320 @override |
| 315 void writeAsBytesSync(List<int> bytes) { | 321 void writeAsBytesSync(List<int> bytes) { |
| 316 throw new FileSystemException(path, 'File could not be written'); | 322 throw new FileSystemException(path, 'File could not be written'); |
| 317 } | 323 } |
| 318 | 324 |
| 319 @override | 325 @override |
| 320 void writeAsStringSync(String content) { | 326 void writeAsStringSync(String content) { |
| 321 throw new FileSystemException(path, 'File could not be written'); | 327 throw new FileSystemException(path, 'File could not be written'); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 } | 380 } |
| 375 return UTF8.decode(content); | 381 return UTF8.decode(content); |
| 376 } | 382 } |
| 377 | 383 |
| 378 @override | 384 @override |
| 379 File renameSync(String newPath) { | 385 File renameSync(String newPath) { |
| 380 return _provider.renameFileSync(this, newPath); | 386 return _provider.renameFileSync(this, newPath); |
| 381 } | 387 } |
| 382 | 388 |
| 383 @override | 389 @override |
| 390 File resolveSymbolicLinksSync() => this; |
| 391 |
| 392 @override |
| 384 Uri toUri() => new Uri.file(path, windows: _provider.pathContext == windows); | 393 Uri toUri() => new Uri.file(path, windows: _provider.pathContext == windows); |
| 385 | 394 |
| 386 @override | 395 @override |
| 387 void writeAsBytesSync(List<int> bytes) { | 396 void writeAsBytesSync(List<int> bytes) { |
| 388 _provider._setFileContent(this, bytes); | 397 _provider._setFileContent(this, bytes); |
| 389 } | 398 } |
| 390 | 399 |
| 391 @override | 400 @override |
| 392 void writeAsStringSync(String content) { | 401 void writeAsStringSync(String content) { |
| 393 _provider._setFileContent(this, UTF8.encode(content)); | 402 _provider._setFileContent(this, UTF8.encode(content)); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 bool operator ==(other) { | 533 bool operator ==(other) { |
| 525 if (runtimeType != other.runtimeType) { | 534 if (runtimeType != other.runtimeType) { |
| 526 return false; | 535 return false; |
| 527 } | 536 } |
| 528 return path == other.path; | 537 return path == other.path; |
| 529 } | 538 } |
| 530 | 539 |
| 531 @override | 540 @override |
| 532 String toString() => path; | 541 String toString() => path; |
| 533 } | 542 } |
| OLD | NEW |