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

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

Issue 1263593003: restore arrow function bind this workaround (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 4 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') | tool/build_sdk.sh » ('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 library dev_compiler.src.options; 6 library dev_compiler.src.options;
7 7
8 import 'dart:io'; 8 import 'dart:io';
9 9
10 import 'package:args/args.dart'; 10 import 'package:args/args.dart';
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 class CodegenOptions { 53 class CodegenOptions {
54 /// Whether to emit the source map files. 54 /// Whether to emit the source map files.
55 final bool emitSourceMaps; 55 final bool emitSourceMaps;
56 56
57 /// Whether to force compilation of code with static errors. 57 /// Whether to force compilation of code with static errors.
58 final bool forceCompile; 58 final bool forceCompile;
59 59
60 /// Output directory for generated code. 60 /// Output directory for generated code.
61 final String outputDir; 61 final String outputDir;
62 62
63 const CodegenOptions( 63 /// Whether to emit a workaround for missing arrow function bind-this in
64 {this.emitSourceMaps: true, this.forceCompile: false, this.outputDir}); 64 /// other V8 builds
65 final bool arrowFnBindThisWorkaround;
66
67 const CodegenOptions({this.emitSourceMaps: true, this.forceCompile: false,
68 this.outputDir, this.arrowFnBindThisWorkaround: false});
65 } 69 }
66 70
67 /// General options used by the dev compiler and server. 71 /// General options used by the dev compiler and server.
68 class CompilerOptions { 72 class CompilerOptions {
69 final StrongModeOptions strongOptions; 73 final StrongModeOptions strongOptions;
70 final SourceResolverOptions sourceOptions; 74 final SourceResolverOptions sourceOptions;
71 final CodegenOptions codegenOptions; 75 final CodegenOptions codegenOptions;
72 76
73 /// Whether to check the sdk libraries. 77 /// Whether to check the sdk libraries.
74 final bool checkSdk; 78 final bool checkSdk;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 } 172 }
169 customUrlMappings[splitMapping[0]] = splitMapping[1]; 173 customUrlMappings[splitMapping[0]] = splitMapping[1];
170 } 174 }
171 175
172 if (serverMode && args.rest.length != 1) showUsage = true; 176 if (serverMode && args.rest.length != 1) showUsage = true;
173 177
174 return new CompilerOptions( 178 return new CompilerOptions(
175 codegenOptions: new CodegenOptions( 179 codegenOptions: new CodegenOptions(
176 emitSourceMaps: args['source-maps'], 180 emitSourceMaps: args['source-maps'],
177 forceCompile: args['force-compile'] || serverMode, 181 forceCompile: args['force-compile'] || serverMode,
178 outputDir: outputDir), 182 outputDir: outputDir,
183 arrowFnBindThisWorkaround: args['arrow-fn-bind-this']),
179 sourceOptions: new SourceResolverOptions( 184 sourceOptions: new SourceResolverOptions(
180 useMockSdk: args['mock-sdk'], 185 useMockSdk: args['mock-sdk'],
181 dartSdkPath: sdkPath, 186 dartSdkPath: sdkPath,
182 useImplicitHtml: serverMode && 187 useImplicitHtml: serverMode &&
183 args.rest.length == 1 && 188 args.rest.length == 1 &&
184 args.rest[0].endsWith('.dart'), 189 args.rest[0].endsWith('.dart'),
185 customUrlMappings: customUrlMappings, 190 customUrlMappings: customUrlMappings,
186 useMultiPackage: args['use-multi-package'], 191 useMultiPackage: args['use-multi-package'],
187 packageRoot: args['package-root'], 192 packageRoot: args['package-root'],
188 packagePaths: args['package-paths'].split(','), 193 packagePaths: args['package-paths'].split(','),
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 defaultsTo: false) 235 defaultsTo: false)
231 ..addOption('package-paths', 236 ..addOption('package-paths',
232 help: 'if using the multi-package resolver, the list of directories to\n' 237 help: 'if using the multi-package resolver, the list of directories to\n'
233 'look for packages in.', defaultsTo: '') 238 'look for packages in.', defaultsTo: '')
234 ..addOption('resources', 239 ..addOption('resources',
235 help: 'Additional resources to serve', defaultsTo: '') 240 help: 'Additional resources to serve', defaultsTo: '')
236 ..addFlag('source-maps', 241 ..addFlag('source-maps',
237 help: 'Whether to emit source map files', defaultsTo: true) 242 help: 'Whether to emit source map files', defaultsTo: true)
238 ..addOption('runtime-dir', 243 ..addOption('runtime-dir',
239 help: 'Where to find dev_compiler\'s runtime files', defaultsTo: null) 244 help: 'Where to find dev_compiler\'s runtime files', defaultsTo: null)
245 ..addFlag('arrow-fn-bind-this',
246 help: 'Work around `this` binding in => functions')
240 247
241 // general options 248 // general options
242 ..addFlag('help', abbr: 'h', help: 'Display this message') 249 ..addFlag('help', abbr: 'h', help: 'Display this message')
243 ..addFlag('server', help: 'Run as a development server.', defaultsTo: false) 250 ..addFlag('server', help: 'Run as a development server.', defaultsTo: false)
244 ..addFlag('hashing', 251 ..addFlag('hashing',
245 help: 'Enable hash-based file caching.', defaultsTo: null) 252 help: 'Enable hash-based file caching.', defaultsTo: null)
246 ..addFlag('widget', 253 ..addFlag('widget',
247 help: 'Serve embedded widget with static errors and warnings.', 254 help: 'Serve embedded widget with static errors and warnings.',
248 defaultsTo: true) 255 defaultsTo: true)
249 ..addOption('host', 256 ..addOption('host',
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 // The pub-cache directory is two levels up, but we verify that the layout 313 // The pub-cache directory is two levels up, but we verify that the layout
307 // looks correct. 314 // looks correct.
308 if (path.basename(dir) != 'dev_compiler') return null; 315 if (path.basename(dir) != 'dev_compiler') return null;
309 dir = path.dirname(dir); 316 dir = path.dirname(dir);
310 if (path.basename(dir) != 'global_packages') return null; 317 if (path.basename(dir) != 'global_packages') return null;
311 dir = path.dirname(dir); 318 dir = path.dirname(dir);
312 return path.join(dir, cacheDir, 'lib', 'runtime'); 319 return path.join(dir, cacheDir, 'lib', 'runtime');
313 } 320 }
314 return null; 321 return null;
315 } 322 }
OLDNEW
« no previous file with comments | « lib/src/js/printer.dart ('k') | tool/build_sdk.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698