| Index: lib/src/checker/resolver.dart
|
| diff --git a/lib/src/checker/resolver.dart b/lib/src/checker/resolver.dart
|
| index 6c0f2a83219c0c5417c928e9ba15702dc7fc9a67..3542ad4d9d5dd64a92acb36d8515246184e7c733 100644
|
| --- a/lib/src/checker/resolver.dart
|
| +++ b/lib/src/checker/resolver.dart
|
| @@ -7,95 +7,21 @@
|
| library dev_compiler.src.checker.resolver;
|
|
|
| import 'package:analyzer/analyzer.dart';
|
| -import 'package:analyzer/file_system/file_system.dart';
|
| -import 'package:analyzer/file_system/memory_file_system.dart';
|
| import 'package:analyzer/src/generated/ast.dart';
|
| import 'package:analyzer/src/generated/element.dart';
|
| -import 'package:analyzer/src/generated/engine.dart';
|
| -import 'package:analyzer/src/generated/java_io.dart' show JavaFile;
|
| import 'package:analyzer/src/generated/resolver.dart';
|
| -import 'package:analyzer/src/generated/sdk_io.dart' show DirectoryBasedDartSdk;
|
| -import 'package:analyzer/src/generated/source.dart' show DartUriResolver;
|
| import 'package:analyzer/src/generated/source.dart' show Source;
|
| import 'package:analyzer/src/generated/source_io.dart';
|
| import 'package:analyzer/src/generated/static_type_analyzer.dart';
|
| import 'package:analyzer/src/generated/utilities_collection.dart'
|
| show DirectedGraph;
|
| import 'package:logging/logging.dart' as logger;
|
| -import 'package:path/path.dart' as path;
|
|
|
| import 'package:dev_compiler/src/options.dart';
|
| import 'package:dev_compiler/src/utils.dart';
|
| -import 'dart_sdk.dart';
|
| -import 'multi_package_resolver.dart';
|
|
|
| final _log = new logger.Logger('dev_compiler.src.resolver');
|
|
|
| -String _implicitEntryHtml(String src) => '''
|
| -<html>
|
| - <body>
|
| - <script type="application/dart" src="$src"></script>
|
| - </body>
|
| -</html>
|
| -''';
|
| -
|
| -// TODO(jmesserly): this class can be removed, and converted to some top-level
|
| -// methods that create the AnalysisContext.
|
| -/// Encapsulates a resolver from the analyzer package.
|
| -class TypeResolver {
|
| - final InternalAnalysisContext context;
|
| -
|
| - TypeResolver(DartUriResolver sdkResolver, ResolverOptions options,
|
| - {List otherResolvers})
|
| - : context = _initContext(options) {
|
| - var resolvers = options.useImplicitHtml
|
| - ? [_createImplicitEntryResolver(options), sdkResolver]
|
| - : [sdkResolver];
|
| - if (otherResolvers == null) {
|
| - resolvers.add(new FileUriResolver());
|
| - resolvers.add(options.useMultiPackage
|
| - ? new MultiPackageResolver(options.packagePaths)
|
| - : new PackageUriResolver([new JavaFile(options.packageRoot)]));
|
| - } else {
|
| - resolvers.addAll(otherResolvers);
|
| - }
|
| - context.sourceFactory = new SourceFactory(resolvers);
|
| - }
|
| -
|
| - /// Creates a [TypeResolver] that uses a mock 'dart:' library contents.
|
| - TypeResolver.fromMock(
|
| - Map<String, String> mockSources, ResolverOptions options,
|
| - {UriResolver entryResolver, List otherResolvers})
|
| - : this(
|
| - new MockDartSdk(mockSources, reportMissing: true).resolver, options,
|
| - otherResolvers: otherResolvers);
|
| -
|
| - /// Creates a [TypeResolver] that uses the SDK at the given [sdkPath].
|
| - TypeResolver.fromDir(String sdkPath, ResolverOptions options,
|
| - {UriResolver entryResolver, List otherResolvers})
|
| - : this(
|
| - new DartUriResolver(new DirectoryBasedDartSdk(new JavaFile(sdkPath))),
|
| - options, otherResolvers: otherResolvers);
|
| -}
|
| -
|
| -UriResolver _createImplicitEntryResolver(ResolverOptions options) {
|
| - var entry = path.absolute(ResolverOptions.implicitHtmlFile);
|
| - var src = path.absolute(options.entryPointFile);
|
| - var provider = new MemoryResourceProvider();
|
| - provider.newFile(entry, _implicitEntryHtml(src));
|
| - return new ResourceUriResolver(provider);
|
| -}
|
| -
|
| -/// Creates an analysis context that contains our restricted typing rules.
|
| -InternalAnalysisContext _initContext(ResolverOptions options) {
|
| - var analysisOptions = new AnalysisOptionsImpl()..cacheSize = 512;
|
| - AnalysisContextImpl res = AnalysisEngine.instance.createAnalysisContext();
|
| - res.analysisOptions = analysisOptions;
|
| - res.libraryResolverFactory =
|
| - (context) => new LibraryResolverWithInference(context, options);
|
| - return res;
|
| -}
|
| -
|
| /// A [LibraryResolver] that performs inference on top-levels and fields based
|
| /// on the value of the initializer, and on fields and methods based on
|
| /// overridden members in super classes.
|
|
|