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

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

Issue 2828693003: Add local type inference logic for integer literals. (Closed)
Patch Set: Sort declarations Created 3 years, 8 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; 5 library fasta;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:convert' show JSON; 9 import 'dart:convert' show JSON;
10 10
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 KernelTarget createKernelTarget( 112 KernelTarget createKernelTarget(
113 DillTarget dillTarget, TranslateUri uriTranslator, bool strongMode) { 113 DillTarget dillTarget, TranslateUri uriTranslator, bool strongMode) {
114 return new KernelTarget( 114 return new KernelTarget(
115 dillTarget, uriTranslator, strongMode, c.uriToSource); 115 dillTarget, uriTranslator, strongMode, c.uriToSource);
116 } 116 }
117 117
118 Future<KernelTarget> buildOutline([Uri output]) async { 118 Future<KernelTarget> buildOutline([Uri output]) async {
119 TranslateUri uriTranslator = 119 TranslateUri uriTranslator =
120 await TranslateUri.parse(c.options.sdk, c.options.packages); 120 await TranslateUri.parse(c.options.sdk, c.options.packages);
121 ticker.logMs("Read packages file"); 121 ticker.logMs("Read packages file");
122 DillTarget dillTarget = new DillTarget(ticker, uriTranslator); 122 DillTarget dillTarget =
123 new DillTarget(ticker, uriTranslator, c.options.strongMode);
123 KernelTarget kernelTarget = 124 KernelTarget kernelTarget =
124 createKernelTarget(dillTarget, uriTranslator, c.options.strongMode); 125 createKernelTarget(dillTarget, uriTranslator, c.options.strongMode);
125 if (c.options.strongMode) { 126 if (c.options.strongMode) {
126 print("Note: strong mode support is preliminary and may not work."); 127 print("Note: strong mode support is preliminary and may not work.");
127 } 128 }
128 Uri platform = c.options.platform; 129 Uri platform = c.options.platform;
129 if (platform != null) { 130 if (platform != null) {
130 dillTarget.read(platform); 131 dillTarget.read(platform);
131 } 132 }
132 String argument = c.options.arguments.first; 133 String argument = c.options.arguments.first;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 return new CompilationResult.error( 168 return new CompilationResult.error(
168 formatUnexpected(patchedSdk, -1, "Patched sdk directory not found.")); 169 formatUnexpected(patchedSdk, -1, "Patched sdk directory not found."));
169 } 170 }
170 171
171 Target target = getTarget("vm", new TargetFlags(strongMode: false)); 172 Target target = getTarget("vm", new TargetFlags(strongMode: false));
172 173
173 Program program; 174 Program program;
174 try { 175 try {
175 TranslateUri uriTranslator = await TranslateUri.parse(null, packages); 176 TranslateUri uriTranslator = await TranslateUri.parse(null, packages);
176 final Ticker ticker = new Ticker(isVerbose: verbose); 177 final Ticker ticker = new Ticker(isVerbose: verbose);
177 final DillTarget dillTarget = new DillTarget(ticker, uriTranslator); 178 final DillTarget dillTarget =
179 new DillTarget(ticker, uriTranslator, strongMode);
178 dillTarget.read(patchedSdk.resolve('platform.dill')); 180 dillTarget.read(patchedSdk.resolve('platform.dill'));
179 final KernelTarget kernelTarget = 181 final KernelTarget kernelTarget =
180 new KernelTarget(dillTarget, uriTranslator, strongMode); 182 new KernelTarget(dillTarget, uriTranslator, strongMode);
181 kernelTarget.read(fileName); 183 kernelTarget.read(fileName);
182 await dillTarget.writeOutline(null); 184 await dillTarget.writeOutline(null);
183 program = await kernelTarget.writeOutline(null); 185 program = await kernelTarget.writeOutline(null);
184 program = await kernelTarget.writeProgram(null); 186 program = await kernelTarget.writeProgram(null);
185 if (kernelTarget.errors.isNotEmpty) { 187 if (kernelTarget.errors.isNotEmpty) {
186 return new CompilationResult.errors(kernelTarget.errors 188 return new CompilationResult.errors(kernelTarget.errors
187 .map((err) => err.toString()) 189 .map((err) => err.toString())
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 await CompilerCommandLine.withGlobalOptions("", [""], 231 await CompilerCommandLine.withGlobalOptions("", [""],
230 (CompilerContext c) async { 232 (CompilerContext c) async {
231 c.options.options["--packages"] = packages; 233 c.options.options["--packages"] = packages;
232 if (verbose) { 234 if (verbose) {
233 c.options.options["--verbose"] = true; 235 c.options.options["--verbose"] = true;
234 } 236 }
235 237
236 TranslateUri uriTranslator = 238 TranslateUri uriTranslator =
237 await TranslateUri.parse(c.options.sdk, c.options.packages); 239 await TranslateUri.parse(c.options.sdk, c.options.packages);
238 ticker.logMs("Read packages file"); 240 ticker.logMs("Read packages file");
239 DillTarget dillTarget = new DillTarget(ticker, uriTranslator) 241 bool strongMode = false;
242 DillTarget dillTarget = new DillTarget(ticker, uriTranslator, strongMode)
240 ..read(platform); 243 ..read(platform);
241 KernelTarget kernelTarget = 244 KernelTarget kernelTarget =
242 new KernelTarget(dillTarget, uriTranslator, false, c.uriToSource); 245 new KernelTarget(dillTarget, uriTranslator, strongMode, c.uriToSource);
243 246
244 kernelTarget.read(script); 247 kernelTarget.read(script);
245 await dillTarget.writeOutline(null); 248 await dillTarget.writeOutline(null);
246 await kernelTarget.loader.buildOutlines(); 249 await kernelTarget.loader.buildOutlines();
247 await kernelTarget.writeDepsFile(output, depsFile, 250 await kernelTarget.writeDepsFile(output, depsFile,
248 extraDependencies: extraDependencies); 251 extraDependencies: extraDependencies);
249 }); 252 });
250 } 253 }
251 254
252 // TODO(ahe): https://github.com/dart-lang/sdk/issues/28316 255 // TODO(ahe): https://github.com/dart-lang/sdk/issues/28316
253 class ByteSink implements Sink<List<int>> { 256 class ByteSink implements Sink<List<int>> {
254 final BytesBuilder builder = new BytesBuilder(); 257 final BytesBuilder builder = new BytesBuilder();
255 258
256 void add(List<int> data) { 259 void add(List<int> data) {
257 builder.add(data); 260 builder.add(data);
258 } 261 }
259 262
260 void close() { 263 void close() {
261 // Nothing to do. 264 // Nothing to do.
262 } 265 }
263 } 266 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698