Skip to content

Commit 5e76dd7

Browse files
committed
Analyze files inside "lib" folders using a "package:" URI.
1 parent fcb8c90 commit 5e76dd7

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

lib/src/analysis.dart

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,7 @@ class AnalysisDriver {
4949

5050
List<UriResolver> get resolvers {
5151
DartSdk sdk = new DirectoryBasedDartSdk(new JavaFile(sdkDir));
52-
List<UriResolver> resolvers = [
53-
new DartUriResolver(sdk),
54-
new FileUriResolver()
55-
];
52+
List<UriResolver> resolvers = [new DartUriResolver(sdk)];
5653
if (options.packageRootPath != null) {
5754
JavaFile packageDirectory = new JavaFile(options.packageRootPath);
5855
resolvers.add(new PackageUriResolver([packageDirectory]));
@@ -67,6 +64,9 @@ class AnalysisDriver {
6764
PhysicalResourceProvider.INSTANCE, packageMap));
6865
}
6966
}
67+
// File URI resolver must come last so that files inside "/lib" are
68+
// are analyzed via "package:" URI's.
69+
resolvers.add(new FileUriResolver());
7070
return resolvers;
7171
}
7272

@@ -90,6 +90,12 @@ class AnalysisDriver {
9090
for (File file in files) {
9191
JavaFile sourceFile = new JavaFile(file.path);
9292
Source source = new FileBasedSource.con2(sourceFile.toURI(), sourceFile);
93+
Uri uri = context.sourceFactory.restoreUri(source);
94+
if (uri != null) {
95+
// Ensure that we analyze the file using its canonical URI (e.g. if
96+
// it's in "/lib", analyze it using a "package:" URI).
97+
source = new FileBasedSource.con2(uri, sourceFile);
98+
}
9399
sources.add(source);
94100
changeSet.addedSource(source);
95101
}

0 commit comments

Comments
 (0)