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

Unified Diff: pkg/analysis_server/lib/src/sdk_ext.dart

Issue 1228643003: Fix SdkExtUriResolver.restoreAbsolute (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/sdk_ext.dart
diff --git a/pkg/analysis_server/lib/src/sdk_ext.dart b/pkg/analysis_server/lib/src/sdk_ext.dart
index 868c81117fd19c1af25bf566b3f2bd2209c027d8..86467e6973f1c950fc534355c2fcf03067599ce9 100644
--- a/pkg/analysis_server/lib/src/sdk_ext.dart
+++ b/pkg/analysis_server/lib/src/sdk_ext.dart
@@ -9,7 +9,6 @@ import 'dart:collection';
import 'dart:convert';
import 'dart:core' hide Resource;
-import 'package:analysis_server/uri/resolver_provider.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/source.dart';
@@ -17,6 +16,11 @@ import 'package:analyzer/src/generated/java_io.dart' show JavaFile;
import 'package:analyzer/src/generated/source_io.dart' show FileBasedSource;
import 'package:path/path.dart' as pathos;
+class _SdkExtFileBasedSource extends FileBasedSource {
+ _SdkExtFileBasedSource(JavaFile file, Uri uri)
+ : super(file, uri);
+}
+
/// Given a packageMap (see [PackageMapProvider]), check in each package's lib
/// directory for the existence of a `.sdkext` file. This file must contain a
/// JSON encoded map. Each key in the map is a `dart:` library name. Each value
@@ -61,14 +65,14 @@ class SdkExtUriResolver extends UriResolver {
var partUri = new Uri.file(pathos.join(directory, partPath));
assert(partUri.isAbsolute);
JavaFile javaFile = new JavaFile.fromUri(partUri);
- return new FileBasedSource(javaFile, importUri);
+ return new _SdkExtFileBasedSource(javaFile, importUri);
}
/// Resolve an import of an sdk extension.
Source _resolveEntry(Uri libraryEntry, Uri importUri) {
// Library entry.
JavaFile javaFile = new JavaFile.fromUri(libraryEntry);
- return new FileBasedSource(javaFile, importUri);
+ return new _SdkExtFileBasedSource(javaFile, importUri);
}
@override
@@ -106,7 +110,10 @@ class SdkExtUriResolver extends UriResolver {
@override
Uri restoreAbsolute(Source source) {
- return source.uri;
+ if (source is _SdkExtFileBasedSource) {
+ return source.uri;
+ }
+ return null;
}
/// Given a package [name] and a list of folders ([libDirs]),
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698