blob: ea95f824f53021c1d069299448a4f7e53e4f125a [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library fasta.analyzer_loader;
import 'package:kernel/ast.dart' show Program;
import 'package:front_end/src/fasta/builder/builder.dart' show LibraryBuilder;
import 'package:front_end/src/fasta/target_implementation.dart'
show TargetImplementation;
import 'package:front_end/src/fasta/source/source_class_builder.dart'
show SourceClassBuilder;
import 'package:front_end/src/fasta/source/source_loader.dart'
show SourceLoader;
import 'package:analyzer/src/fasta/element_store.dart' show ElementStore;
import 'analyzer_diet_listener.dart' show AnalyzerDietListener;
class AnalyzerLoader<L> extends SourceLoader<L> {
ElementStore elementStore;
AnalyzerLoader(TargetImplementation target) : super(target);
@override
void computeHierarchy(Program program) {
elementStore = new ElementStore(coreLibrary, builders);
ticker.logMs("Built analyzer element model.");
}
@override
AnalyzerDietListener createDietListener(LibraryBuilder library) {
return new AnalyzerDietListener(library, elementStore);
}
@override
void checkOverrides(List<SourceClassBuilder> sourceClasses) {
// Not implemented yet. Requires [hierarchy].
}
}