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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/apiimpl.dart

Issue 189563004: Use '--source-map' and '--out' options to support source maps from non-commandline. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 leg_apiimpl; 5 library leg_apiimpl;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import '../compiler.dart' as api; 9 import '../compiler.dart' as api;
10 import 'dart2jslib.dart' as leg; 10 import 'dart2jslib.dart' as leg;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 analyzeOnly: hasOption(options, '--analyze-only'), 50 analyzeOnly: hasOption(options, '--analyze-only'),
51 analyzeSignaturesOnly: 51 analyzeSignaturesOnly:
52 hasOption(options, '--analyze-signatures-only'), 52 hasOption(options, '--analyze-signatures-only'),
53 strips: extractCsvOption(options, '--force-strip='), 53 strips: extractCsvOption(options, '--force-strip='),
54 enableConcreteTypeInference: 54 enableConcreteTypeInference:
55 hasOption(options, '--enable-concrete-type-inference'), 55 hasOption(options, '--enable-concrete-type-inference'),
56 disableTypeInferenceFlag: 56 disableTypeInferenceFlag:
57 hasOption(options, '--disable-type-inference'), 57 hasOption(options, '--disable-type-inference'),
58 preserveComments: hasOption(options, '--preserve-comments'), 58 preserveComments: hasOption(options, '--preserve-comments'),
59 verbose: hasOption(options, '--verbose'), 59 verbose: hasOption(options, '--verbose'),
60 sourceMapUri: extractSourceMapUri(options), 60 sourceMapUri: extractUriOption(options, '--source-map='),
61 outputUri: extractUriOption(options, '--out='),
61 terseDiagnostics: hasOption(options, '--terse'), 62 terseDiagnostics: hasOption(options, '--terse'),
62 dumpInfo: hasOption(options, '--dump-info'), 63 dumpInfo: hasOption(options, '--dump-info'),
63 buildId: extractStringOption( 64 buildId: extractStringOption(
64 options, '--build-id=', 65 options, '--build-id=',
65 "build number could not be determined"), 66 "build number could not be determined"),
66 showPackageWarnings: 67 showPackageWarnings:
67 hasOption(options, '--show-package-warnings')) { 68 hasOption(options, '--show-package-warnings')) {
68 if (!libraryRoot.path.endsWith("/")) { 69 if (!libraryRoot.path.endsWith("/")) {
69 throw new ArgumentError("libraryRoot must end with a /"); 70 throw new ArgumentError("libraryRoot must end with a /");
70 } 71 }
71 if (packageRoot != null && !packageRoot.path.endsWith("/")) { 72 if (packageRoot != null && !packageRoot.path.endsWith("/")) {
72 throw new ArgumentError("packageRoot must end with a /"); 73 throw new ArgumentError("packageRoot must end with a /");
73 } 74 }
74 } 75 }
75 76
76 static String extractStringOption(List<String> options, 77 static String extractStringOption(List<String> options,
77 String prefix, 78 String prefix,
78 String defaultValue) { 79 String defaultValue) {
79 for (String option in options) { 80 for (String option in options) {
80 if (option.startsWith(prefix)) { 81 if (option.startsWith(prefix)) {
81 return option.substring(prefix.length); 82 return option.substring(prefix.length);
82 } 83 }
83 } 84 }
84 return defaultValue; 85 return defaultValue;
85 } 86 }
86 87
87 static Uri extractSourceMapUri(List<String> options) { 88 static Uri extractUriOption(List<String> options, String prefix) {
88 var option = extractStringOption(options, '--source-map=', null); 89 var option = extractStringOption(options, prefix, null);
89 return (option == null) ? null : Uri.parse(option); 90 return (option == null) ? null : Uri.parse(option);
90 } 91 }
91 92
92 // CSV: Comma separated values. 93 // CSV: Comma separated values.
93 static List<String> extractCsvOption(List<String> options, String prefix) { 94 static List<String> extractCsvOption(List<String> options, String prefix) {
94 for (String option in options) { 95 for (String option in options) {
95 if (option.startsWith(prefix)) { 96 if (option.startsWith(prefix)) {
96 return option.substring(prefix.length).split(','); 97 return option.substring(prefix.length).split(',');
97 } 98 }
98 } 99 }
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } 332 }
332 333
333 void diagnoseCrashInUserCode(String message, exception, stackTrace) { 334 void diagnoseCrashInUserCode(String message, exception, stackTrace) {
334 hasCrashed = true; 335 hasCrashed = true;
335 print('$message: ${tryToString(exception)}'); 336 print('$message: ${tryToString(exception)}');
336 print(tryToString(stackTrace)); 337 print(tryToString(stackTrace));
337 } 338 }
338 339
339 fromEnvironment(String name) => environment[name]; 340 fromEnvironment(String name) => environment[name];
340 } 341 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698