| Index: pkg/analyzer/lib/src/generated/source.dart
|
| ===================================================================
|
| --- pkg/analyzer/lib/src/generated/source.dart (revision 43787)
|
| +++ pkg/analyzer/lib/src/generated/source.dart (working copy)
|
| @@ -17,7 +17,9 @@
|
| import 'engine.dart';
|
| import 'java_core.dart';
|
| import 'java_engine.dart';
|
| +import 'java_io.dart' show JavaFile;
|
| import 'sdk.dart' show DartSdk;
|
| +import 'source_io.dart' show FileBasedSource;
|
|
|
| /**
|
| * A function that is used to handle [ContentCache] entries.
|
| @@ -165,6 +167,24 @@
|
| static bool isDartUri(Uri uri) => DART_SCHEME == uri.scheme;
|
| }
|
|
|
| +class CustomUriResolver extends UriResolver {
|
| + final Map<String, String> _urlMappings;
|
| +
|
| + CustomUriResolver(this._urlMappings);
|
| +
|
| + @override
|
| + Source resolveAbsolute(Uri uri) {
|
| + String mapping = _urlMappings[uri.toString()];
|
| + if (mapping == null) return null;
|
| +
|
| + Uri fileUri = new Uri.file(mapping);
|
| + if (!fileUri.isAbsolute) return null;
|
| +
|
| + JavaFile javaFile = new JavaFile.fromUri(fileUri);
|
| + return new FileBasedSource.con1(javaFile);
|
| + }
|
| +}
|
| +
|
| /**
|
| * Instances of the class `LineInfo` encapsulate information about line and column information
|
| * within a source file.
|
|
|