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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_target.dart

Issue 2723113002: Consolidate analyzer dependencies. (Closed)
Patch Set: Remove new dependency on AsyncMarker. Created 3 years, 9 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.kernel_target; 5 library fasta.kernel_target;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:io' show File, IOSink; 9 import 'dart:io' show File, IOSink;
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 import '../source/source_loader.dart' show SourceLoader; 50 import '../source/source_loader.dart' show SourceLoader;
51 51
52 import '../source/source_class_builder.dart' show SourceClassBuilder; 52 import '../source/source_class_builder.dart' show SourceClassBuilder;
53 53
54 import '../target_implementation.dart' show TargetImplementation; 54 import '../target_implementation.dart' show TargetImplementation;
55 55
56 import '../translate_uri.dart' show TranslateUri; 56 import '../translate_uri.dart' show TranslateUri;
57 57
58 import '../dill/dill_target.dart' show DillTarget; 58 import '../dill/dill_target.dart' show DillTarget;
59 59
60 import '../ast_kind.dart' show AstKind;
61
62 import '../errors.dart' 60 import '../errors.dart'
63 show InputError, internalError, reportCrash, resetCrashReporting; 61 show InputError, internalError, reportCrash, resetCrashReporting;
64 62
65 import '../util/relativize.dart' show relativizeUri; 63 import '../util/relativize.dart' show relativizeUri;
66 64
67 import '../compiler_context.dart' show CompilerContext; 65 import '../compiler_context.dart' show CompilerContext;
68 66
69 import 'kernel_builder.dart' 67 import 'kernel_builder.dart'
70 show 68 show
71 Builder, 69 Builder,
(...skipping 20 matching lines...) Expand all
92 Program program; 90 Program program;
93 91
94 final List errors = []; 92 final List errors = [];
95 93
96 KernelTarget(DillTarget dillTarget, TranslateUri uriTranslator, 94 KernelTarget(DillTarget dillTarget, TranslateUri uriTranslator,
97 [Map<String, Source> uriToSource]) 95 [Map<String, Source> uriToSource])
98 : dillTarget = dillTarget, 96 : dillTarget = dillTarget,
99 uriToSource = uriToSource ?? CompilerContext.current.uriToSource, 97 uriToSource = uriToSource ?? CompilerContext.current.uriToSource,
100 super(dillTarget.ticker, uriTranslator) { 98 super(dillTarget.ticker, uriTranslator) {
101 resetCrashReporting(); 99 resetCrashReporting();
102 loader = new SourceLoader<Library>(this); 100 loader = createLoader();
103 } 101 }
104 102
103 SourceLoader<Library> createLoader() => new SourceLoader<Library>(this);
104
105 void addLineStarts(Uri uri, List<int> lineStarts) { 105 void addLineStarts(Uri uri, List<int> lineStarts) {
106 String fileUri = relativizeUri(uri); 106 String fileUri = relativizeUri(uri);
107 uriToSource[fileUri] = new Source(lineStarts, fileUri); 107 uriToSource[fileUri] = new Source(lineStarts, fileUri);
108 } 108 }
109 109
110 void read(Uri uri) { 110 void read(Uri uri) {
111 loader.read(uri); 111 loader.read(uri);
112 } 112 }
113 113
114 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri) { 114 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 String message = error.format(); 198 String message = error.format();
199 print(message); 199 print(message);
200 errors.add(message); 200 errors.add(message);
201 } 201 }
202 program = erroneousProgram(isFullProgram); 202 program = erroneousProgram(isFullProgram);
203 return uri == null 203 return uri == null
204 ? new Future<Program>.value(program) 204 ? new Future<Program>.value(program)
205 : writeLinkedProgram(uri, program, isFullProgram: isFullProgram); 205 : writeLinkedProgram(uri, program, isFullProgram: isFullProgram);
206 } 206 }
207 207
208 Future<Program> writeProgram(Uri uri, AstKind astKind) async { 208 Future<Program> writeProgram(Uri uri) async {
209 if (loader.first == null) return null; 209 if (loader.first == null) return null;
210 if (errors.isNotEmpty) { 210 if (errors.isNotEmpty) {
211 return handleInputError(uri, null, isFullProgram: true); 211 return handleInputError(uri, null, isFullProgram: true);
212 } 212 }
213 try { 213 try {
214 if (astKind == AstKind.Analyzer) { 214 loader.computeHierarchy(program);
215 loader.buildElementStore(); 215 await loader.buildBodies();
216 } else {
217 loader.computeHierarchy(program);
218 }
219 await loader.buildBodies(astKind);
220 loader.finishStaticInvocations(); 216 loader.finishStaticInvocations();
221 finishAllConstructors(); 217 finishAllConstructors();
222 loader.finishNativeMethods(); 218 loader.finishNativeMethods();
223 transformMixinApplications(); 219 transformMixinApplications();
224 // TODO(ahe): Don't call this from two different places. 220 // TODO(ahe): Don't call this from two different places.
225 setup_builtin_library.transformProgram(program); 221 setup_builtin_library.transformProgram(program);
226 errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format())); 222 errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format()));
227 if (errors.isNotEmpty) { 223 if (errors.isNotEmpty) {
228 return handleInputError(uri, null, isFullProgram: true); 224 return handleInputError(uri, null, isFullProgram: true);
229 } 225 }
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 } 579 }
584 for (Constructor constructor in superclass.constructors) { 580 for (Constructor constructor in superclass.constructors) {
585 if (constructor.name.name.isEmpty) { 581 if (constructor.name.name.isEmpty) {
586 return constructor.function.requiredParameterCount == 0 582 return constructor.function.requiredParameterCount == 0
587 ? constructor 583 ? constructor
588 : null; 584 : null;
589 } 585 }
590 } 586 }
591 return null; 587 return null;
592 } 588 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/dill/dill_target.dart ('k') | pkg/front_end/lib/src/fasta/loader.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698