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

Unified Diff: lib/src/checker/resolver.dart

Issue 1143683002: cleanup: simplify creation of AnalysisContext (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 7 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 | « lib/src/checker/multi_package_resolver.dart ('k') | lib/src/dart_sdk.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « lib/src/checker/multi_package_resolver.dart ('k') | lib/src/dart_sdk.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698