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

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

Issue 2761173004: Implement dynamic and void as types exported by core library. (Closed)
Patch Set: Use TypeBuilder.bind. 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
11 import 'package:kernel/ast.dart' 11 import 'package:kernel/ast.dart'
12 show 12 show
13 Arguments, 13 Arguments,
14 AsyncMarker, 14 AsyncMarker,
15 Class, 15 Class,
16 Constructor, 16 Constructor,
17 DartType, 17 DartType,
18 DynamicType,
18 EmptyStatement, 19 EmptyStatement,
19 Expression, 20 Expression,
20 ExpressionStatement, 21 ExpressionStatement,
21 Field, 22 Field,
22 FieldInitializer, 23 FieldInitializer,
23 FunctionNode, 24 FunctionNode,
24 Initializer, 25 Initializer,
25 InvalidInitializer, 26 InvalidInitializer,
26 Library, 27 Library,
27 Name, 28 Name,
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 program = erroneousProgram(isFullProgram); 214 program = erroneousProgram(isFullProgram);
214 return uri == null 215 return uri == null
215 ? new Future<Program>.value(program) 216 ? new Future<Program>.value(program)
216 : writeLinkedProgram(uri, program, isFullProgram: isFullProgram); 217 : writeLinkedProgram(uri, program, isFullProgram: isFullProgram);
217 } 218 }
218 219
219 Future<Program> writeOutline(Uri uri) async { 220 Future<Program> writeOutline(Uri uri) async {
220 if (loader.first == null) return null; 221 if (loader.first == null) return null;
221 try { 222 try {
222 await loader.buildOutlines(); 223 await loader.buildOutlines();
224 loader.coreLibrary
225 .becomeCoreLibrary(const DynamicType(), const VoidType());
226 dynamicType.bind(loader.coreLibrary.members["dynamic"]);
223 loader.resolveParts(); 227 loader.resolveParts();
224 loader.computeLibraryScopes(); 228 loader.computeLibraryScopes();
225 loader.resolveTypes(); 229 loader.resolveTypes();
226 loader.buildProgram(); 230 loader.buildProgram();
227 loader.checkSemantics(); 231 loader.checkSemantics();
228 List<SourceClassBuilder> sourceClasses = collectAllSourceClasses(); 232 List<SourceClassBuilder> sourceClasses = collectAllSourceClasses();
229 installDefaultSupertypes(); 233 installDefaultSupertypes();
230 installDefaultConstructors(sourceClasses); 234 installDefaultConstructors(sourceClasses);
231 loader.resolveConstructors(); 235 loader.resolveConstructors();
232 loader.finishTypeVariables(objectClassBuilder); 236 loader.finishTypeVariables(objectClassBuilder);
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 } 673 }
670 for (Constructor constructor in superclass.constructors) { 674 for (Constructor constructor in superclass.constructors) {
671 if (constructor.name.name.isEmpty) { 675 if (constructor.name.name.isEmpty) {
672 return constructor.function.requiredParameterCount == 0 676 return constructor.function.requiredParameterCount == 0
673 ? constructor 677 ? constructor
674 : null; 678 : null;
675 } 679 }
676 } 680 }
677 return null; 681 return null;
678 } 682 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/kernel_named_type_builder.dart ('k') | pkg/front_end/test/fasta/compile.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698