blob: 6cacc9e65b835e57894ff47caeb448a0f71c8946 [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 '../builder/builder.dart' show LibraryBuilder;
import '../target_implementation.dart' show TargetImplementation;
import '../source/source_loader.dart' show SourceLoader;
import '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);
}
}