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

Side by Side Diff: lib/src/options.dart

Issue 1643523008: fix #43, remove => workaround (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « lib/src/js/printer.dart ('k') | test/codegen/expect/collection/src/wrappers.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 /// Set of flags and options passed to the compiler 5 /// Set of flags and options passed to the compiler
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import 'package:args/args.dart'; 9 import 'package:args/args.dart';
10 import 'package:cli_util/cli_util.dart' show getSdkDir; 10 import 'package:cli_util/cli_util.dart' show getSdkDir;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 /// Output directory for generated code. 71 /// Output directory for generated code.
72 final String outputDir; 72 final String outputDir;
73 73
74 /// Emit Closure Compiler-friendly code. 74 /// Emit Closure Compiler-friendly code.
75 final bool closure; 75 final bool closure;
76 76
77 /// Enable ES6 destructuring of named parameters. 77 /// Enable ES6 destructuring of named parameters.
78 final bool destructureNamedParams; 78 final bool destructureNamedParams;
79 79
80 /// Whether to emit a workaround for missing arrow function bind-this in
81 /// other V8 builds
82 final bool arrowFnBindThisWorkaround;
83
84 /// Which module format to support. 80 /// Which module format to support.
85 /// Currently 'es6' and 'legacy' are supported. 81 /// Currently 'es6' and 'legacy' are supported.
86 final ModuleFormat moduleFormat; 82 final ModuleFormat moduleFormat;
87 83
88 const CodegenOptions( 84 const CodegenOptions(
89 {this.emitSourceMaps: true, 85 {this.emitSourceMaps: true,
90 this.forceCompile: false, 86 this.forceCompile: false,
91 this.closure: _CLOSURE_DEFAULT, 87 this.closure: _CLOSURE_DEFAULT,
92 this.destructureNamedParams: _DESTRUCTURE_NAMED_PARAMS_DEFAULT, 88 this.destructureNamedParams: _DESTRUCTURE_NAMED_PARAMS_DEFAULT,
93 this.outputDir, 89 this.outputDir,
94 this.arrowFnBindThisWorkaround: false,
95 this.moduleFormat: ModuleFormat.legacy}); 90 this.moduleFormat: ModuleFormat.legacy});
96 } 91 }
97 92
98 /// Options for devrun. 93 /// Options for devrun.
99 class RunnerOptions { 94 class RunnerOptions {
100 /// V8-based binary to be used to run the .js output (d8, iojs, node). 95 /// V8-based binary to be used to run the .js output (d8, iojs, node).
101 /// Can be just the executable name if it's in the path, or a path to the 96 /// Can be just the executable name if it's in the path, or a path to the
102 /// executable. 97 /// executable.
103 final String v8Binary; 98 final String v8Binary;
104 99
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 customUrlMappings[splitMapping[0]] = splitMapping[1]; 228 customUrlMappings[splitMapping[0]] = splitMapping[1];
234 } 229 }
235 230
236 return new CompilerOptions( 231 return new CompilerOptions(
237 codegenOptions: new CodegenOptions( 232 codegenOptions: new CodegenOptions(
238 emitSourceMaps: args['source-maps'], 233 emitSourceMaps: args['source-maps'],
239 forceCompile: args['force-compile'] || serverMode, 234 forceCompile: args['force-compile'] || serverMode,
240 closure: args['closure'], 235 closure: args['closure'],
241 destructureNamedParams: args['destructure-named-params'], 236 destructureNamedParams: args['destructure-named-params'],
242 outputDir: outputDir, 237 outputDir: outputDir,
243 arrowFnBindThisWorkaround: args['arrow-fn-bind-this'],
244 moduleFormat: parseModuleFormat(args['modules'])), 238 moduleFormat: parseModuleFormat(args['modules'])),
245 sourceOptions: new SourceResolverOptions( 239 sourceOptions: new SourceResolverOptions(
246 useMockSdk: args['mock-sdk'], 240 useMockSdk: args['mock-sdk'],
247 dartSdkPath: sdkPath, 241 dartSdkPath: sdkPath,
248 useImplicitHtml: serverMode && 242 useImplicitHtml: serverMode &&
249 args.rest.length == 1 && 243 args.rest.length == 1 &&
250 args.rest[0].endsWith('.dart'), 244 args.rest[0].endsWith('.dart'),
251 customUrlMappings: customUrlMappings, 245 customUrlMappings: customUrlMappings,
252 useMultiPackage: args['use-multi-package'], 246 useMultiPackage: args['use-multi-package'],
253 packageRoot: args['package-root'], 247 packageRoot: args['package-root'],
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 ..addOption('package-paths', 291 ..addOption('package-paths',
298 help: 'if using the multi-package resolver, the list of directories to\n' 292 help: 'if using the multi-package resolver, the list of directories to\n'
299 'look for packages in.', 293 'look for packages in.',
300 defaultsTo: '') 294 defaultsTo: '')
301 ..addOption('resources', 295 ..addOption('resources',
302 help: 'Additional resources to serve', defaultsTo: '') 296 help: 'Additional resources to serve', defaultsTo: '')
303 ..addFlag('source-maps', 297 ..addFlag('source-maps',
304 help: 'Whether to emit source map files', defaultsTo: true) 298 help: 'Whether to emit source map files', defaultsTo: true)
305 ..addOption('runtime-dir', 299 ..addOption('runtime-dir',
306 help: 'Where to find dev_compiler\'s runtime files', defaultsTo: null) 300 help: 'Where to find dev_compiler\'s runtime files', defaultsTo: null)
307 ..addFlag('arrow-fn-bind-this',
308 help: 'Work around `this` binding in => functions')
309 ..addOption('modules', 301 ..addOption('modules',
310 help: 'Which module pattern to emit', 302 help: 'Which module pattern to emit',
311 allowed: ModuleFormat.values.map(getEnumName).toList(), 303 allowed: ModuleFormat.values.map(getEnumName).toList(),
312 allowedHelp: { 304 allowedHelp: {
313 getEnumName(ModuleFormat.es6): 'es6 modules', 305 getEnumName(ModuleFormat.es6): 'es6 modules',
314 getEnumName(ModuleFormat.legacy): 306 getEnumName(ModuleFormat.legacy):
315 'a custom format used by dartdevc, similar to AMD', 307 'a custom format used by dartdevc, similar to AMD',
316 getEnumName(ModuleFormat.node): 308 getEnumName(ModuleFormat.node):
317 'node.js modules (https://nodejs.org/api/modules.html)' 309 'node.js modules (https://nodejs.org/api/modules.html)'
318 }, 310 },
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 // The pub-cache directory is two levels up, but we verify that the layout 400 // The pub-cache directory is two levels up, but we verify that the layout
409 // looks correct. 401 // looks correct.
410 if (path.basename(dir) != 'dev_compiler') return null; 402 if (path.basename(dir) != 'dev_compiler') return null;
411 dir = path.dirname(dir); 403 dir = path.dirname(dir);
412 if (path.basename(dir) != 'global_packages') return null; 404 if (path.basename(dir) != 'global_packages') return null;
413 dir = path.dirname(dir); 405 dir = path.dirname(dir);
414 return path.join(dir, cacheDir, 'lib', 'runtime'); 406 return path.join(dir, cacheDir, 'lib', 'runtime');
415 } 407 }
416 return null; 408 return null;
417 } 409 }
OLDNEW
« no previous file with comments | « lib/src/js/printer.dart ('k') | test/codegen/expect/collection/src/wrappers.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698