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 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
7 | 7 |
8 library engine.source.io; | 8 library engine.source.io; |
9 | 9 |
10 import 'dart:collection'; | 10 import 'dart:collection'; |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
269 /** | 269 /** |
270 * Instances of the class `FileUriResolver` resolve `file` URI's. | 270 * Instances of the class `FileUriResolver` resolve `file` URI's. |
271 */ | 271 */ |
272 class FileUriResolver extends UriResolver { | 272 class FileUriResolver extends UriResolver { |
273 /** | 273 /** |
274 * The name of the `file` scheme. | 274 * The name of the `file` scheme. |
275 */ | 275 */ |
276 static String FILE_SCHEME = "file"; | 276 static String FILE_SCHEME = "file"; |
277 | 277 |
278 @override | 278 @override |
279 Source resolveAbsolute(Uri uri) { | 279 Source resolveAbsolute(Uri uri, [Uri actualUri]) { |
280 if (!isFileUri(uri)) { | 280 if (!isFileUri(uri)) { |
281 return null; | 281 return null; |
282 } | 282 } |
283 return new FileBasedSource(new JavaFile.fromUri(uri), uri); | 283 return new FileBasedSource(new JavaFile.fromUri(uri), actualUri); |
Paul Berry
2015/07/21 19:39:27
There's a subtle change in behavior in the case wh
pquitslund
2015/07/21 20:55:10
Good catch!
| |
284 } | 284 } |
285 | 285 |
286 @override | 286 @override |
287 Uri restoreAbsolute(Source source) { | 287 Uri restoreAbsolute(Source source) { |
288 if (source is FileBasedSource) { | 288 if (source is FileBasedSource) { |
289 return new Uri.file(source.fullName); | 289 return new Uri.file(source.fullName); |
290 } | 290 } |
291 return null; | 291 return null; |
292 } | 292 } |
293 | 293 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
418 _CanLogRequiredKeyIoException = false; | 418 _CanLogRequiredKeyIoException = false; |
419 AnalysisEngine.instance.logger.logError("Canonical failed: $pkgDir", | 419 AnalysisEngine.instance.logger.logError("Canonical failed: $pkgDir", |
420 new CaughtException(exception, stackTrace)); | 420 new CaughtException(exception, stackTrace)); |
421 } | 421 } |
422 } | 422 } |
423 return new JavaFile.relative(pkgDir, relPath.replaceAll( | 423 return new JavaFile.relative(pkgDir, relPath.replaceAll( |
424 '/', new String.fromCharCode(JavaFile.separatorChar))); | 424 '/', new String.fromCharCode(JavaFile.separatorChar))); |
425 } | 425 } |
426 | 426 |
427 @override | 427 @override |
428 Source resolveAbsolute(Uri uri) { | 428 Source resolveAbsolute(Uri uri, [Uri actualUri]){ |
429 if (!isPackageUri(uri)) { | 429 if (!isPackageUri(uri)) { |
430 return null; | 430 return null; |
431 } | 431 } |
432 String path = uri.path; | 432 String path = uri.path; |
433 if (path == null) { | 433 if (path == null) { |
434 path = uri.path; | 434 path = uri.path; |
435 if (path == null) { | 435 if (path == null) { |
436 return null; | 436 return null; |
437 } | 437 } |
438 } | 438 } |
(...skipping 17 matching lines...) Expand all Loading... | |
456 if (resolvedFile.exists()) { | 456 if (resolvedFile.exists()) { |
457 JavaFile canonicalFile = | 457 JavaFile canonicalFile = |
458 getCanonicalFile(packagesDirectory, pkgName, relPath); | 458 getCanonicalFile(packagesDirectory, pkgName, relPath); |
459 if (_isSelfReference(packagesDirectory, canonicalFile)) { | 459 if (_isSelfReference(packagesDirectory, canonicalFile)) { |
460 uri = canonicalFile.toURI(); | 460 uri = canonicalFile.toURI(); |
461 } | 461 } |
462 return new FileBasedSource(canonicalFile, uri); | 462 return new FileBasedSource(canonicalFile, uri); |
463 } | 463 } |
464 } | 464 } |
465 return new FileBasedSource( | 465 return new FileBasedSource( |
466 getCanonicalFile(_packagesDirectories[0], pkgName, relPath), uri); | 466 getCanonicalFile(_packagesDirectories[0], pkgName, relPath), actualUri); |
Paul Berry
2015/07/21 19:39:27
This has the same problem as above, but it's defin
pquitslund
2015/07/21 20:55:10
Absolutely. Spot on. Thanks!
| |
467 } | 467 } |
468 | 468 |
469 @override | 469 @override |
470 Uri restoreAbsolute(Source source) { | 470 Uri restoreAbsolute(Source source) { |
471 String sourcePath = source.fullName; | 471 String sourcePath = source.fullName; |
472 for (JavaFile packagesDirectory in _packagesDirectories) { | 472 for (JavaFile packagesDirectory in _packagesDirectories) { |
473 List<JavaFile> pkgFolders = packagesDirectory.listFiles(); | 473 List<JavaFile> pkgFolders = packagesDirectory.listFiles(); |
474 if (pkgFolders != null) { | 474 if (pkgFolders != null) { |
475 for (JavaFile pkgFolder in pkgFolders) { | 475 for (JavaFile pkgFolder in pkgFolders) { |
476 try { | 476 try { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
530 final JavaFile _rootDirectory; | 530 final JavaFile _rootDirectory; |
531 | 531 |
532 /** | 532 /** |
533 * Initialize a newly created resolver to resolve `file` URI's relative to the given root | 533 * Initialize a newly created resolver to resolve `file` URI's relative to the given root |
534 * directory. | 534 * directory. |
535 */ | 535 */ |
536 RelativeFileUriResolver(this._rootDirectory, this._relativeDirectories) | 536 RelativeFileUriResolver(this._rootDirectory, this._relativeDirectories) |
537 : super(); | 537 : super(); |
538 | 538 |
539 @override | 539 @override |
540 Source resolveAbsolute(Uri uri) { | 540 Source resolveAbsolute(Uri uri, [Uri actualUri]) { |
541 String rootPath = _rootDirectory.toURI().path; | 541 String rootPath = _rootDirectory.toURI().path; |
542 String uriPath = uri.path; | 542 String uriPath = uri.path; |
543 if (uriPath != null && uriPath.startsWith(rootPath)) { | 543 if (uriPath != null && uriPath.startsWith(rootPath)) { |
544 String filePath = uri.path.substring(rootPath.length); | 544 String filePath = uri.path.substring(rootPath.length); |
545 for (JavaFile dir in _relativeDirectories) { | 545 for (JavaFile dir in _relativeDirectories) { |
546 JavaFile file = new JavaFile.relative(dir, filePath); | 546 JavaFile file = new JavaFile.relative(dir, filePath); |
547 if (file.exists()) { | 547 if (file.exists()) { |
548 return new FileBasedSource(file, uri); | 548 return new FileBasedSource(file, actualUri); |
Paul Berry
2015/07/21 19:39:27
Similar problem here, although I can't assess the
pquitslund
2015/07/21 20:55:10
Done.
| |
549 } | 549 } |
550 } | 550 } |
551 } | 551 } |
552 return null; | 552 return null; |
553 } | 553 } |
554 | 554 |
555 /** | 555 /** |
556 * Return `true` if the given URI is a `file` URI. | 556 * Return `true` if the given URI is a `file` URI. |
557 * | 557 * |
558 * @param uri the URI being tested | 558 * @param uri the URI being tested |
559 * @return `true` if the given URI is a `file` URI | 559 * @return `true` if the given URI is a `file` URI |
560 */ | 560 */ |
561 static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME; | 561 static bool isFileUri(Uri uri) => uri.scheme == FILE_SCHEME; |
562 } | 562 } |
OLD | NEW |