Index: pkg/analyzer/lib/src/context/builder.dart |
diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart |
index aad53cfdde47479da00382605de164cd7c689fcc..b308352e723db7c9e34ae3b682162ddf8fa2593d 100644 |
--- a/pkg/analyzer/lib/src/context/builder.dart |
+++ b/pkg/analyzer/lib/src/context/builder.dart |
@@ -17,6 +17,7 @@ import 'package:analyzer/src/command_line/arguments.dart' |
import 'package:analyzer/src/dart/sdk/sdk.dart'; |
import 'package:analyzer/src/generated/bazel.dart'; |
import 'package:analyzer/src/generated/engine.dart'; |
+import 'package:analyzer/src/generated/gn.dart'; |
import 'package:analyzer/src/generated/sdk.dart'; |
import 'package:analyzer/src/generated/source.dart'; |
import 'package:analyzer/src/summary/package_bundle_reader.dart'; |
@@ -208,6 +209,17 @@ class ContextBuilder { |
return new SourceFactory(resolvers, null, resourceProvider); |
} |
+ GnWorkspace gnWorkspace = GnWorkspace.find(resourceProvider, rootPath); |
+ if (gnWorkspace != null) { |
+ DartSdk sdk = findSdk(gnWorkspace.packageMap, options); |
+ List<UriResolver> resolvers = <UriResolver>[ |
+ new DartUriResolver(sdk), |
+ new GnPackageUriResolver(gnWorkspace), |
+ new GnFileUriResolver(gnWorkspace) |
+ ]; |
+ return new SourceFactory(resolvers, null, resourceProvider); |
+ } |
+ |
Packages packages = createPackageMap(rootPath); |
Map<String, List<Folder>> packageMap = convertPackagesToMap(packages); |
List<UriResolver> resolvers = <UriResolver>[ |