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

Side by Side Diff: pkg/analyzer/lib/source/package_map_resolver.dart

Issue 1245263002: Actual URI support for package URI resolution. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Merge master (tk2). Created 5 years, 5 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
« no previous file with comments | « pkg/analyzer/lib/file_system/file_system.dart ('k') | pkg/analyzer/lib/source/sdk_ext.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 source.package_map_resolver; 5 library source.package_map_resolver;
6 6
7 import 'dart:core' hide Resource; 7 import 'dart:core' hide Resource;
8 8
9 import 'package:analyzer/file_system/file_system.dart'; 9 import 'package:analyzer/file_system/file_system.dart';
10 import 'package:analyzer/src/generated/source.dart'; 10 import 'package:analyzer/src/generated/source.dart';
(...skipping 26 matching lines...) Expand all
37 * 37 *
38 * [packageMap] is a table mapping package names to the paths of the 38 * [packageMap] is a table mapping package names to the paths of the
39 * directories containing the package 39 * directories containing the package
40 */ 40 */
41 PackageMapUriResolver(this.resourceProvider, this.packageMap) { 41 PackageMapUriResolver(this.resourceProvider, this.packageMap) {
42 asserts.notNull(resourceProvider); 42 asserts.notNull(resourceProvider);
43 asserts.notNull(packageMap); 43 asserts.notNull(packageMap);
44 } 44 }
45 45
46 @override 46 @override
47 Source resolveAbsolute(Uri uri) { 47 Source resolveAbsolute(Uri uri, [Uri actualUri]) {
48 if (!isPackageUri(uri)) { 48 if (!isPackageUri(uri)) {
49 return null; 49 return null;
50 } 50 }
51 // Prepare path. 51 // Prepare path.
52 String path = uri.path; 52 String path = uri.path;
53 // Prepare path components. 53 // Prepare path components.
54 int index = path.indexOf('/'); 54 int index = path.indexOf('/');
55 if (index == -1 || index == 0) { 55 if (index == -1 || index == 0) {
56 return null; 56 return null;
57 } 57 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 return true; 128 return true;
129 } 129 }
130 130
131 /** 131 /**
132 * Returns `true` if [uri] is a `package` URI. 132 * Returns `true` if [uri] is a `package` URI.
133 */ 133 */
134 static bool isPackageUri(Uri uri) { 134 static bool isPackageUri(Uri uri) {
135 return uri.scheme == PACKAGE_SCHEME; 135 return uri.scheme == PACKAGE_SCHEME;
136 } 136 }
137 } 137 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/file_system/file_system.dart ('k') | pkg/analyzer/lib/source/sdk_ext.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698