| Index: pkg/front_end/lib/src/fasta/source/source_loader.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
|
| index 3df02d01a4591f01cbbb0ee54fad3bc1974db98d..cbd90b6b432f54c9334ff37b6a363532f78d6101 100644
|
| --- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
|
| +++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
|
| @@ -26,8 +26,6 @@ import '../messages.dart' show warning;
|
|
|
| import '../export.dart' show Export;
|
|
|
| -import '../analyzer/element_store.dart' show ElementStore;
|
| -
|
| import '../builder/builder.dart' show Builder, ClassBuilder, LibraryBuilder;
|
|
|
| import 'outline_builder.dart' show OutlineBuilder;
|
| @@ -42,8 +40,6 @@ import 'diet_parser.dart' show DietParser;
|
|
|
| import 'source_library_builder.dart' show SourceLibraryBuilder;
|
|
|
| -import '../ast_kind.dart' show AstKind;
|
| -
|
| class SourceLoader<L> extends Loader<L> {
|
| final Map<Uri, List<int>> sourceBytes = <Uri, List<int>>{};
|
|
|
| @@ -51,9 +47,6 @@ class SourceLoader<L> extends Loader<L> {
|
| ClassHierarchy hierarchy;
|
| CoreTypes coreTypes;
|
|
|
| - // Used when building analyzer ASTs.
|
| - ElementStore elementStore;
|
| -
|
| SourceLoader(TargetImplementation target) : super(target);
|
|
|
| Future<Token> tokenize(SourceLibraryBuilder library,
|
| @@ -98,15 +91,14 @@ class SourceLoader<L> extends Loader<L> {
|
| new ClassMemberParser(listener).parseUnit(tokens);
|
| }
|
|
|
| - Future<Null> buildBody(LibraryBuilder library, AstKind astKind) async {
|
| + Future<Null> buildBody(LibraryBuilder library) async {
|
| if (library is SourceLibraryBuilder) {
|
| // We tokenize source files twice to keep memory usage low. This is the
|
| // second time, and the first time was in [buildOutline] above. So this
|
| // time we suppress lexical errors.
|
| Token tokens = await tokenize(library, suppressLexicalErrors: true);
|
| if (tokens == null) return;
|
| - DietListener listener = new DietListener(
|
| - library, elementStore, hierarchy, coreTypes, astKind);
|
| + DietListener listener = createDietListener(library);
|
| DietParser parser = new DietParser(listener);
|
| parser.parseUnit(tokens);
|
| for (SourceLibraryBuilder part in library.parts) {
|
| @@ -119,6 +111,10 @@ class SourceLoader<L> extends Loader<L> {
|
| }
|
| }
|
|
|
| + DietListener createDietListener(LibraryBuilder library) {
|
| + return new DietListener(library, hierarchy, coreTypes);
|
| + }
|
| +
|
| void resolveParts() {
|
| List<Uri> parts = <Uri>[];
|
| builders.forEach((Uri uri, LibraryBuilder library) {
|
| @@ -339,11 +335,6 @@ class SourceLoader<L> extends Loader<L> {
|
| ticker.logMs("Built program");
|
| }
|
|
|
| - void buildElementStore() {
|
| - elementStore = new ElementStore(coreLibrary, builders);
|
| - ticker.logMs("Built analyzer element model.");
|
| - }
|
| -
|
| void computeHierarchy(Program program) {
|
| hierarchy = new ClassHierarchy(program);
|
| ticker.logMs("Computed class hierarchy");
|
|
|