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

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

Issue 2895983002: Read SDK and patches from a JSON file. (Closed)
Patch Set: Merged with 1333f97b9a0e3805f991578ef83b0ec4553ecf33 Created 3 years, 7 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.target_implementation; 5 library fasta.target_implementation;
6 6
7 import 'package:kernel/target/targets.dart' as backend show Target; 7 import 'package:kernel/target/targets.dart' as backend show Target;
8 8
9 import 'builder/builder.dart' show Builder, ClassBuilder, LibraryBuilder; 9 import 'builder/builder.dart' show Builder, ClassBuilder, LibraryBuilder;
10 10
(...skipping 19 matching lines...) Expand all
30 30
31 Builder cachedCompileTimeError; 31 Builder cachedCompileTimeError;
32 Builder cachedAbstractClassInstantiationError; 32 Builder cachedAbstractClassInstantiationError;
33 Builder cachedNativeAnnotation; 33 Builder cachedNativeAnnotation;
34 34
35 TargetImplementation(Ticker ticker, this.uriTranslator, this.backendTarget) 35 TargetImplementation(Ticker ticker, this.uriTranslator, this.backendTarget)
36 : super(ticker); 36 : super(ticker);
37 37
38 /// Creates a [LibraryBuilder] corresponding to [uri], if one doesn't exist 38 /// Creates a [LibraryBuilder] corresponding to [uri], if one doesn't exist
39 /// already. 39 /// already.
40 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri); 40 LibraryBuilder createLibraryBuilder(Uri uri, Uri fileUri, bool isPatch);
41 41
42 /// Add the classes extended or implemented directly by [cls] to [set]. 42 /// Add the classes extended or implemented directly by [cls] to [set].
43 void addDirectSupertype(ClassBuilder cls, Set<ClassBuilder> set); 43 void addDirectSupertype(ClassBuilder cls, Set<ClassBuilder> set);
44 44
45 /// Returns all classes that will be included in the resulting program. 45 /// Returns all classes that will be included in the resulting program.
46 List<ClassBuilder> collectAllClasses(); 46 List<ClassBuilder> collectAllClasses();
47 47
48 /// The class [cls] is involved in a cyclic definition. This method should 48 /// The class [cls] is involved in a cyclic definition. This method should
49 /// ensure that the cycle is broken, for example, by removing superclass and 49 /// ensure that the cycle is broken, for example, by removing superclass and
50 /// implemented interfaces. 50 /// implemented interfaces.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 } 89 }
90 90
91 Token skipNativeClause(Token token) => vm.skipNativeClause(token); 91 Token skipNativeClause(Token token) => vm.skipNativeClause(token);
92 92
93 String extractNativeMethodName(Token token) => 93 String extractNativeMethodName(Token token) =>
94 unescapeString(token.next.lexeme); 94 unescapeString(token.next.lexeme);
95 95
96 void addSourceInformation( 96 void addSourceInformation(
97 Uri uri, List<int> lineStarts, List<int> sourceCode); 97 Uri uri, List<int> lineStarts, List<int> sourceCode);
98
99 void readPatchFiles(LibraryBuilder library) {
100 assert(library.uri.scheme == "dart");
101 List<Uri> patches = uriTranslator.patches[library.uri.path];
102 if (patches != null) {
103 for (Uri patch in patches) {
104 library.loader.read(patch, -1, fileUri: patch, isPatch: true);
105 }
106 }
107 }
98 } 108 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/source/source_library_builder.dart ('k') | pkg/front_end/lib/src/fasta/translate_uri.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698