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

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

Issue 2895983002: Read SDK and patches from a JSON file. (Closed)
Patch Set: Merged with 1333f97b9a0e3805f991578ef83b0ec4553ecf33 Created 3 years, 6 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; 9 import 'dart:io' show File;
10 10
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 void addSourceInformation( 130 void addSourceInformation(
131 Uri uri, List<int> lineStarts, List<int> sourceCode) { 131 Uri uri, List<int> lineStarts, List<int> sourceCode) {
132 String fileUri = relativizeUri(uri); 132 String fileUri = relativizeUri(uri);
133 uriToSource[fileUri] = new Source(lineStarts, sourceCode); 133 uriToSource[fileUri] = new Source(lineStarts, sourceCode);
134 } 134 }
135 135
136 void read(Uri uri) { 136 void read(Uri uri) {
137 loader.read(uri, -1); 137 loader.read(uri, -1);
138 } 138 }
139 139
140 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri) { 140 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri, bool isPatch) {
141 if (dillTarget.isLoaded) { 141 if (dillTarget.isLoaded) {
142 var builder = dillTarget.loader.builders[uri]; 142 var builder = dillTarget.loader.builders[uri];
143 if (builder != null) { 143 if (builder != null) {
144 return builder; 144 return builder;
145 } 145 }
146 } 146 }
147 return new KernelLibraryBuilder(uri, fileUri, loader); 147 return new KernelLibraryBuilder(uri, fileUri, loader, isPatch);
148 } 148 }
149 149
150 void forEachDirectSupertype(ClassBuilder cls, void f(NamedTypeBuilder type)) { 150 void forEachDirectSupertype(ClassBuilder cls, void f(NamedTypeBuilder type)) {
151 TypeBuilder supertype = cls.supertype; 151 TypeBuilder supertype = cls.supertype;
152 if (supertype is NamedTypeBuilder) { 152 if (supertype is NamedTypeBuilder) {
153 f(supertype); 153 f(supertype);
154 } else if (supertype != null) { 154 } else if (supertype != null) {
155 internalError("Unhandled: ${supertype.runtimeType}"); 155 internalError("Unhandled: ${supertype.runtimeType}");
156 } 156 }
157 if (cls.interfaces != null) { 157 if (cls.interfaces != null) {
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 } 348 }
349 sb.writeln(); 349 sb.writeln();
350 await new File.fromUri(depsFile).writeAsString("$sb"); 350 await new File.fromUri(depsFile).writeAsString("$sb");
351 ticker.logMs("Wrote deps file"); 351 ticker.logMs("Wrote deps file");
352 } 352 }
353 353
354 Program erroneousProgram(bool isFullProgram) { 354 Program erroneousProgram(bool isFullProgram) {
355 Uri uri = loader.first?.uri ?? Uri.parse("error:error"); 355 Uri uri = loader.first?.uri ?? Uri.parse("error:error");
356 Uri fileUri = loader.first?.fileUri ?? uri; 356 Uri fileUri = loader.first?.fileUri ?? uri;
357 KernelLibraryBuilder library = 357 KernelLibraryBuilder library =
358 new KernelLibraryBuilder(uri, fileUri, loader); 358 new KernelLibraryBuilder(uri, fileUri, loader, false);
359 loader.first = library; 359 loader.first = library;
360 if (isFullProgram) { 360 if (isFullProgram) {
361 // If this is an outline, we shouldn't add an executable main 361 // If this is an outline, we shouldn't add an executable main
362 // method. Similarly considerations apply to separate compilation. It 362 // method. Similarly considerations apply to separate compilation. It
363 // could also make sense to add a way to mark .dill files as having 363 // could also make sense to add a way to mark .dill files as having
364 // compile-time errors. 364 // compile-time errors.
365 KernelProcedureBuilder mainBuilder = new KernelProcedureBuilder(null, 0, 365 KernelProcedureBuilder mainBuilder = new KernelProcedureBuilder(null, 0,
366 null, "main", null, null, ProcedureKind.Method, library, -1, -1, -1); 366 null, "main", null, null, ProcedureKind.Method, library, -1, -1, -1);
367 library.addBuilder(mainBuilder.name, mainBuilder, -1); 367 library.addBuilder(mainBuilder.name, mainBuilder, -1);
368 mainBuilder.body = new ExpressionStatement( 368 mainBuilder.body = new ExpressionStatement(
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 } 722 }
723 for (Constructor constructor in superclass.constructors) { 723 for (Constructor constructor in superclass.constructors) {
724 if (constructor.name.name.isEmpty) { 724 if (constructor.name.name.isEmpty) {
725 return constructor.function.requiredParameterCount == 0 725 return constructor.function.requiredParameterCount == 0
726 ? constructor 726 ? constructor
727 : null; 727 : null;
728 } 728 }
729 } 729 }
730 return null; 730 return null;
731 } 731 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.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