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

Side by Side Diff: pkg/analyzer/lib/src/fasta/analyzer_loader.dart

Issue 2980883003: Remove code associated with the old "kompile" functionality. (Closed)
Patch Set: Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library fasta.analyzer_loader; 5 library fasta.analyzer_loader;
6 6
7 import 'package:front_end/physical_file_system.dart'; 7 import 'package:front_end/physical_file_system.dart';
8 import 'package:kernel/ast.dart' show Program; 8 import 'package:kernel/ast.dart' show Program;
9 9
10 import 'package:front_end/src/fasta/builder/builder.dart' show LibraryBuilder; 10 import 'package:front_end/src/fasta/builder/builder.dart' show LibraryBuilder;
11 11
12 import 'package:front_end/src/fasta/target_implementation.dart' 12 import 'package:front_end/src/fasta/target_implementation.dart'
13 show TargetImplementation; 13 show TargetImplementation;
14 14
15 import 'package:front_end/src/fasta/source/source_class_builder.dart' 15 import 'package:front_end/src/fasta/source/source_class_builder.dart'
16 show SourceClassBuilder; 16 show SourceClassBuilder;
17 17
18 import 'package:front_end/src/fasta/source/source_loader.dart' 18 import 'package:front_end/src/fasta/source/source_loader.dart'
19 show SourceLoader; 19 show SourceLoader;
20 20
21 import 'package:analyzer/src/fasta/element_store.dart' show ElementStore;
22
23 import 'analyzer_diet_listener.dart' show AnalyzerDietListener; 21 import 'analyzer_diet_listener.dart' show AnalyzerDietListener;
24 22
25 import 'package:kernel/core_types.dart' show CoreTypes; 23 import 'package:kernel/core_types.dart' show CoreTypes;
26 import 'package:kernel/src/incremental_class_hierarchy.dart'; 24 import 'package:kernel/src/incremental_class_hierarchy.dart';
27 25
28 class AnalyzerLoader<L> extends SourceLoader<L> { 26 class AnalyzerLoader<L> extends SourceLoader<L> {
29 ElementStore elementStore; 27 AnalyzerLoader(TargetImplementation target)
30
31 /// Indicates whether a kernel representation of the code should be generated.
32 ///
33 /// When `false`, an analyzer AST is generated, and type inference is copied
34 /// over to it, but the result is not converted to a kernel representation.
35 ///
36 /// TODO(paulberry): remove this once "kompile" functionality is no longer
37 /// needed.
38 final bool generateKernel;
39
40 /// Indicates whether a resolved AST should be generated.
41 ///
42 /// When `false`, an analyzer AST is generated, but none of the types or
43 /// elements pointed to by the AST are guaranteed to be correct.
44 ///
45 /// This is needed in order to support the old "kompile" use case, since the
46 /// tests of that functionality were based on the behavior prior to
47 /// integrating resolution and type inference with analyzer.
48 ///
49 /// TODO(paulberry): remove this once "kompile" functionality is no longer
50 /// needed.
51 final bool doResolution;
52
53 AnalyzerLoader(
54 TargetImplementation target, this.generateKernel, this.doResolution)
55 : super(PhysicalFileSystem.instance, target); 28 : super(PhysicalFileSystem.instance, target);
56 29
57 @override 30 @override
58 void computeHierarchy(Program program) { 31 void computeHierarchy(Program program) {
59 elementStore = new ElementStore(coreLibrary, builders);
60 ticker.logMs("Built analyzer element model."); 32 ticker.logMs("Built analyzer element model.");
61 hierarchy = new IncrementalClassHierarchy(); 33 hierarchy = new IncrementalClassHierarchy();
62 ticker.logMs("Computed class hierarchy"); 34 ticker.logMs("Computed class hierarchy");
63 coreTypes = new CoreTypes(program); 35 coreTypes = new CoreTypes(program);
64 ticker.logMs("Computed core types"); 36 ticker.logMs("Computed core types");
65 } 37 }
66 38
67 @override 39 @override
68 AnalyzerDietListener createDietListener(LibraryBuilder library) { 40 AnalyzerDietListener createDietListener(LibraryBuilder library) {
69 return new AnalyzerDietListener(library, elementStore, hierarchy, coreTypes, 41 return new AnalyzerDietListener(
70 typeInferenceEngine, generateKernel, doResolution); 42 library, hierarchy, coreTypes, typeInferenceEngine);
71 } 43 }
72 44
73 @override 45 @override
74 void checkOverrides(List<SourceClassBuilder> sourceClasses) { 46 void checkOverrides(List<SourceClassBuilder> sourceClasses) {
75 // Not implemented yet. Requires [hierarchy]. 47 // Not implemented yet. Requires [hierarchy].
76 } 48 }
77 } 49 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/fasta/analyzer_diet_listener.dart ('k') | pkg/analyzer/lib/src/fasta/analyzer_target.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698