OLD | NEW |
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 dart2js.src.options; | 5 library dart2js.src.options; |
6 | 6 |
7 import 'commandline_options.dart' show Flags; | 7 import 'commandline_options.dart' show Flags; |
8 import '../compiler.dart' show PackagesDiscoveryProvider; | 8 import '../compiler.dart' show PackagesDiscoveryProvider; |
9 | 9 |
10 /// Options used for parsing. | 10 /// Options used for parsing. |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 final bool verbose; | 238 final bool verbose; |
239 | 239 |
240 // ------------------------------------------------- | 240 // ------------------------------------------------- |
241 // Options for deprecated features | 241 // Options for deprecated features |
242 // ------------------------------------------------- | 242 // ------------------------------------------------- |
243 // TODO(sigmund): delete these as we delete the underlying features | 243 // TODO(sigmund): delete these as we delete the underlying features |
244 | 244 |
245 /// Whether to preserve comments while scanning (only use for dart:mirrors). | 245 /// Whether to preserve comments while scanning (only use for dart:mirrors). |
246 final bool preserveComments; | 246 final bool preserveComments; |
247 | 247 |
248 /// Whether to emit JavaScript (false enables dart2dart). | |
249 final bool emitJavaScript; | |
250 | |
251 /// When using dart2dart, whether to use the multi file format. | |
252 final bool dart2dartMultiFile; | |
253 | |
254 /// Strip option used by dart2dart. | 248 /// Strip option used by dart2dart. |
255 final List<String> strips; | 249 final List<String> strips; |
256 | 250 |
257 /// Create an options object by parsing flags from [options]. | 251 /// Create an options object by parsing flags from [options]. |
258 factory CompilerOptions.parse( | 252 factory CompilerOptions.parse( |
259 {Uri entryPoint, | 253 {Uri entryPoint, |
260 Uri libraryRoot, | 254 Uri libraryRoot, |
261 Uri packageRoot, | 255 Uri packageRoot, |
262 Uri packageConfig, | 256 Uri packageConfig, |
263 List<Uri> resolutionInputs, | 257 List<Uri> resolutionInputs, |
264 Uri resolutionOutput, | 258 Uri resolutionOutput, |
265 PackagesDiscoveryProvider packagesDiscoveryProvider, | 259 PackagesDiscoveryProvider packagesDiscoveryProvider, |
266 Map<String, dynamic> environment: const <String, dynamic>{}, | 260 Map<String, dynamic> environment: const <String, dynamic>{}, |
267 List<String> options}) { | 261 List<String> options}) { |
268 return new CompilerOptions( | 262 return new CompilerOptions( |
269 entryPoint: entryPoint, | 263 entryPoint: entryPoint, |
270 libraryRoot: libraryRoot, | 264 libraryRoot: libraryRoot, |
271 packageRoot: packageRoot, | 265 packageRoot: packageRoot, |
272 packageConfig: packageConfig, | 266 packageConfig: packageConfig, |
273 packagesDiscoveryProvider: packagesDiscoveryProvider, | 267 packagesDiscoveryProvider: packagesDiscoveryProvider, |
274 environment: environment, | 268 environment: environment, |
275 allowMockCompilation: _hasOption(options, Flags.allowMockCompilation), | 269 allowMockCompilation: _hasOption(options, Flags.allowMockCompilation), |
276 allowNativeExtensions: _hasOption(options, Flags.allowNativeExtensions), | 270 allowNativeExtensions: _hasOption(options, Flags.allowNativeExtensions), |
277 analyzeAll: _hasOption(options, Flags.analyzeAll), | 271 analyzeAll: _hasOption(options, Flags.analyzeAll), |
278 analyzeMain: _hasOption(options, Flags.analyzeMain), | 272 analyzeMain: _hasOption(options, Flags.analyzeMain), |
279 analyzeOnly: _hasOption(options, Flags.analyzeOnly), | 273 analyzeOnly: _hasOption(options, Flags.analyzeOnly), |
280 analyzeSignaturesOnly: _hasOption(options, Flags.analyzeSignaturesOnly), | 274 analyzeSignaturesOnly: _hasOption(options, Flags.analyzeSignaturesOnly), |
281 buildId: _extractStringOption( | 275 buildId: _extractStringOption( |
282 options, '--build-id=', _UNDETERMINED_BUILD_ID), | 276 options, '--build-id=', _UNDETERMINED_BUILD_ID), |
283 dart2dartMultiFile: _hasOption(options, '--output-type=dart-multi'), | |
284 deferredMapUri: _extractUriOption(options, '--deferred-map='), | 277 deferredMapUri: _extractUriOption(options, '--deferred-map='), |
285 fatalWarnings: _hasOption(options, Flags.fatalWarnings), | 278 fatalWarnings: _hasOption(options, Flags.fatalWarnings), |
286 terseDiagnostics: _hasOption(options, Flags.terse), | 279 terseDiagnostics: _hasOption(options, Flags.terse), |
287 suppressWarnings: _hasOption(options, Flags.suppressWarnings), | 280 suppressWarnings: _hasOption(options, Flags.suppressWarnings), |
288 suppressHints: _hasOption(options, Flags.suppressHints), | 281 suppressHints: _hasOption(options, Flags.suppressHints), |
289 shownPackageWarnings: | 282 shownPackageWarnings: |
290 _extractOptionalCsvOption(options, Flags.showPackageWarnings), | 283 _extractOptionalCsvOption(options, Flags.showPackageWarnings), |
291 disableInlining: _hasOption(options, Flags.disableInlining), | 284 disableInlining: _hasOption(options, Flags.disableInlining), |
292 disableTypeInference: _hasOption(options, Flags.disableTypeInference), | 285 disableTypeInference: _hasOption(options, Flags.disableTypeInference), |
293 dumpInfo: _hasOption(options, Flags.dumpInfo), | 286 dumpInfo: _hasOption(options, Flags.dumpInfo), |
294 emitJavaScript: !(_hasOption(options, '--output-type=dart') || | |
295 _hasOption(options, '--output-type=dart-multi')), | |
296 enableAssertMessage: _hasOption(options, Flags.enableAssertMessage), | 287 enableAssertMessage: _hasOption(options, Flags.enableAssertMessage), |
297 enableGenericMethodSyntax: | 288 enableGenericMethodSyntax: |
298 _hasOption(options, Flags.genericMethodSyntax), | 289 _hasOption(options, Flags.genericMethodSyntax), |
299 enableInitializingFormalAccess: | 290 enableInitializingFormalAccess: |
300 _hasOption(options, Flags.initializingFormalAccess), | 291 _hasOption(options, Flags.initializingFormalAccess), |
301 enableExperimentalMirrors: | 292 enableExperimentalMirrors: |
302 _hasOption(options, Flags.enableExperimentalMirrors), | 293 _hasOption(options, Flags.enableExperimentalMirrors), |
303 enableMinification: _hasOption(options, Flags.minify), | 294 enableMinification: _hasOption(options, Flags.minify), |
304 enableNativeLiveTypeAnalysis: | 295 enableNativeLiveTypeAnalysis: |
305 !_hasOption(options, Flags.disableNativeLiveTypeAnalysis), | 296 !_hasOption(options, Flags.disableNativeLiveTypeAnalysis), |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 Uri packageConfig, | 338 Uri packageConfig, |
348 PackagesDiscoveryProvider packagesDiscoveryProvider, | 339 PackagesDiscoveryProvider packagesDiscoveryProvider, |
349 Map<String, dynamic> environment: const <String, dynamic>{}, | 340 Map<String, dynamic> environment: const <String, dynamic>{}, |
350 bool allowMockCompilation: false, | 341 bool allowMockCompilation: false, |
351 bool allowNativeExtensions: false, | 342 bool allowNativeExtensions: false, |
352 bool analyzeAll: false, | 343 bool analyzeAll: false, |
353 bool analyzeMain: false, | 344 bool analyzeMain: false, |
354 bool analyzeOnly: false, | 345 bool analyzeOnly: false, |
355 bool analyzeSignaturesOnly: false, | 346 bool analyzeSignaturesOnly: false, |
356 String buildId: _UNDETERMINED_BUILD_ID, | 347 String buildId: _UNDETERMINED_BUILD_ID, |
357 bool dart2dartMultiFile: false, | |
358 Uri deferredMapUri: null, | 348 Uri deferredMapUri: null, |
359 bool fatalWarnings: false, | 349 bool fatalWarnings: false, |
360 bool terseDiagnostics: false, | 350 bool terseDiagnostics: false, |
361 bool suppressWarnings: false, | 351 bool suppressWarnings: false, |
362 bool suppressHints: false, | 352 bool suppressHints: false, |
363 List<String> shownPackageWarnings: null, | 353 List<String> shownPackageWarnings: null, |
364 bool disableInlining: false, | 354 bool disableInlining: false, |
365 bool disableTypeInference: false, | 355 bool disableTypeInference: false, |
366 bool dumpInfo: false, | 356 bool dumpInfo: false, |
367 bool emitJavaScript: true, | |
368 bool enableAssertMessage: false, | 357 bool enableAssertMessage: false, |
369 bool enableGenericMethodSyntax: false, | 358 bool enableGenericMethodSyntax: false, |
370 bool enableInitializingFormalAccess: false, | 359 bool enableInitializingFormalAccess: false, |
371 bool enableExperimentalMirrors: false, | 360 bool enableExperimentalMirrors: false, |
372 bool enableMinification: false, | 361 bool enableMinification: false, |
373 bool enableNativeLiveTypeAnalysis: true, | 362 bool enableNativeLiveTypeAnalysis: true, |
374 bool enableTypeAssertions: false, | 363 bool enableTypeAssertions: false, |
375 bool enableUserAssertions: false, | 364 bool enableUserAssertions: false, |
376 bool generateCodeWithCompileTimeErrors: false, | 365 bool generateCodeWithCompileTimeErrors: false, |
377 bool generateSourceMap: true, | 366 bool generateSourceMap: true, |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 return new CompilerOptions._(entryPoint, libraryRoot, packageRoot, | 410 return new CompilerOptions._(entryPoint, libraryRoot, packageRoot, |
422 packageConfig, packagesDiscoveryProvider, environment, | 411 packageConfig, packagesDiscoveryProvider, environment, |
423 allowMockCompilation: allowMockCompilation, | 412 allowMockCompilation: allowMockCompilation, |
424 allowNativeExtensions: allowNativeExtensions, | 413 allowNativeExtensions: allowNativeExtensions, |
425 analyzeAll: analyzeAll || resolveOnly, | 414 analyzeAll: analyzeAll || resolveOnly, |
426 analyzeMain: analyzeMain, | 415 analyzeMain: analyzeMain, |
427 analyzeOnly: | 416 analyzeOnly: |
428 analyzeOnly || analyzeSignaturesOnly || analyzeAll || resolveOnly, | 417 analyzeOnly || analyzeSignaturesOnly || analyzeAll || resolveOnly, |
429 analyzeSignaturesOnly: analyzeSignaturesOnly, | 418 analyzeSignaturesOnly: analyzeSignaturesOnly, |
430 buildId: buildId, | 419 buildId: buildId, |
431 dart2dartMultiFile: dart2dartMultiFile, | |
432 deferredMapUri: deferredMapUri, | 420 deferredMapUri: deferredMapUri, |
433 fatalWarnings: fatalWarnings, | 421 fatalWarnings: fatalWarnings, |
434 terseDiagnostics: terseDiagnostics, | 422 terseDiagnostics: terseDiagnostics, |
435 suppressWarnings: suppressWarnings, | 423 suppressWarnings: suppressWarnings, |
436 suppressHints: suppressHints, | 424 suppressHints: suppressHints, |
437 shownPackageWarnings: shownPackageWarnings, | 425 shownPackageWarnings: shownPackageWarnings, |
438 disableInlining: disableInlining || hasIncrementalSupport, | 426 disableInlining: disableInlining || hasIncrementalSupport, |
439 disableTypeInference: disableTypeInference || !emitJavaScript, | 427 disableTypeInference: disableTypeInference, |
440 dumpInfo: dumpInfo, | 428 dumpInfo: dumpInfo, |
441 emitJavaScript: emitJavaScript, | |
442 enableAssertMessage: enableAssertMessage, | 429 enableAssertMessage: enableAssertMessage, |
443 enableGenericMethodSyntax: enableGenericMethodSyntax, | 430 enableGenericMethodSyntax: enableGenericMethodSyntax, |
444 enableInitializingFormalAccess: enableInitializingFormalAccess, | 431 enableInitializingFormalAccess: enableInitializingFormalAccess, |
445 enableExperimentalMirrors: enableExperimentalMirrors, | 432 enableExperimentalMirrors: enableExperimentalMirrors, |
446 enableMinification: enableMinification, | 433 enableMinification: enableMinification, |
447 enableNativeLiveTypeAnalysis: enableNativeLiveTypeAnalysis, | 434 enableNativeLiveTypeAnalysis: enableNativeLiveTypeAnalysis, |
448 enableTypeAssertions: enableTypeAssertions, | 435 enableTypeAssertions: enableTypeAssertions, |
449 enableUserAssertions: enableUserAssertions, | 436 enableUserAssertions: enableUserAssertions, |
450 generateCodeWithCompileTimeErrors: generateCodeWithCompileTimeErrors, | 437 generateCodeWithCompileTimeErrors: generateCodeWithCompileTimeErrors, |
451 generateSourceMap: generateSourceMap, | 438 generateSourceMap: generateSourceMap, |
452 hasIncrementalSupport: hasIncrementalSupport, | 439 hasIncrementalSupport: hasIncrementalSupport, |
453 outputUri: outputUri, | 440 outputUri: outputUri, |
454 platformConfigUri: platformConfigUri ?? | 441 platformConfigUri: platformConfigUri ?? |
455 _resolvePlatformConfig( | 442 _resolvePlatformConfig(libraryRoot, null, const []), |
456 libraryRoot, null, !emitJavaScript, const []), | |
457 preserveComments: preserveComments, | 443 preserveComments: preserveComments, |
458 preserveUris: preserveUris, | 444 preserveUris: preserveUris, |
459 resolutionInputs: resolutionInputs, | 445 resolutionInputs: resolutionInputs, |
460 resolutionOutput: resolutionOutput, | 446 resolutionOutput: resolutionOutput, |
461 resolveOnly: resolveOnly, | 447 resolveOnly: resolveOnly, |
462 sourceMapUri: sourceMapUri, | 448 sourceMapUri: sourceMapUri, |
463 strips: strips, | 449 strips: strips, |
464 testMode: testMode, | 450 testMode: testMode, |
465 trustJSInteropTypeAnnotations: trustJSInteropTypeAnnotations, | 451 trustJSInteropTypeAnnotations: trustJSInteropTypeAnnotations, |
466 trustPrimitives: trustPrimitives, | 452 trustPrimitives: trustPrimitives, |
467 trustTypeAnnotations: trustTypeAnnotations, | 453 trustTypeAnnotations: trustTypeAnnotations, |
468 useContentSecurityPolicy: useContentSecurityPolicy, | 454 useContentSecurityPolicy: useContentSecurityPolicy, |
469 useCpsIr: useCpsIr, | 455 useCpsIr: useCpsIr, |
470 useFrequencyNamer: useFrequencyNamer, | 456 useFrequencyNamer: useFrequencyNamer, |
471 useNewSourceInfo: useNewSourceInfo, | 457 useNewSourceInfo: useNewSourceInfo, |
472 useStartupEmitter: useStartupEmitter, | 458 useStartupEmitter: useStartupEmitter, |
473 verbose: verbose); | 459 verbose: verbose); |
474 } | 460 } |
475 | 461 |
476 CompilerOptions._(this.entryPoint, this.libraryRoot, this.packageRoot, | 462 CompilerOptions._(this.entryPoint, this.libraryRoot, this.packageRoot, |
477 this.packageConfig, this.packagesDiscoveryProvider, this.environment, | 463 this.packageConfig, this.packagesDiscoveryProvider, this.environment, |
478 {this.allowMockCompilation: false, | 464 {this.allowMockCompilation: false, |
479 this.allowNativeExtensions: false, | 465 this.allowNativeExtensions: false, |
480 this.analyzeAll: false, | 466 this.analyzeAll: false, |
481 this.analyzeMain: false, | 467 this.analyzeMain: false, |
482 this.analyzeOnly: false, | 468 this.analyzeOnly: false, |
483 this.analyzeSignaturesOnly: false, | 469 this.analyzeSignaturesOnly: false, |
484 this.buildId: _UNDETERMINED_BUILD_ID, | 470 this.buildId: _UNDETERMINED_BUILD_ID, |
485 this.dart2dartMultiFile: false, | |
486 this.deferredMapUri: null, | 471 this.deferredMapUri: null, |
487 this.fatalWarnings: false, | 472 this.fatalWarnings: false, |
488 this.terseDiagnostics: false, | 473 this.terseDiagnostics: false, |
489 this.suppressWarnings: false, | 474 this.suppressWarnings: false, |
490 this.suppressHints: false, | 475 this.suppressHints: false, |
491 List<String> shownPackageWarnings: null, | 476 List<String> shownPackageWarnings: null, |
492 this.disableInlining: false, | 477 this.disableInlining: false, |
493 this.disableTypeInference: false, | 478 this.disableTypeInference: false, |
494 this.dumpInfo: false, | 479 this.dumpInfo: false, |
495 this.emitJavaScript: true, | |
496 this.enableAssertMessage: false, | 480 this.enableAssertMessage: false, |
497 this.enableGenericMethodSyntax: false, | 481 this.enableGenericMethodSyntax: false, |
498 this.enableInitializingFormalAccess: false, | 482 this.enableInitializingFormalAccess: false, |
499 this.enableExperimentalMirrors: false, | 483 this.enableExperimentalMirrors: false, |
500 this.enableMinification: false, | 484 this.enableMinification: false, |
501 this.enableNativeLiveTypeAnalysis: false, | 485 this.enableNativeLiveTypeAnalysis: false, |
502 this.enableTypeAssertions: false, | 486 this.enableTypeAssertions: false, |
503 this.enableUserAssertions: false, | 487 this.enableUserAssertions: false, |
504 this.generateCodeWithCompileTimeErrors: false, | 488 this.generateCodeWithCompileTimeErrors: false, |
505 this.generateSourceMap: true, | 489 this.generateSourceMap: true, |
(...skipping 28 matching lines...) Expand all Loading... |
534 packageConfig, | 518 packageConfig, |
535 packagesDiscoveryProvider, | 519 packagesDiscoveryProvider, |
536 environment, | 520 environment, |
537 allowMockCompilation, | 521 allowMockCompilation, |
538 allowNativeExtensions, | 522 allowNativeExtensions, |
539 analyzeAll, | 523 analyzeAll, |
540 analyzeMain, | 524 analyzeMain, |
541 analyzeOnly, | 525 analyzeOnly, |
542 analyzeSignaturesOnly, | 526 analyzeSignaturesOnly, |
543 buildId, | 527 buildId, |
544 dart2dartMultiFile, | |
545 deferredMapUri, | 528 deferredMapUri, |
546 fatalWarnings, | 529 fatalWarnings, |
547 terseDiagnostics, | 530 terseDiagnostics, |
548 suppressWarnings, | 531 suppressWarnings, |
549 suppressHints, | 532 suppressHints, |
550 List<String> shownPackageWarnings, | 533 List<String> shownPackageWarnings, |
551 disableInlining, | 534 disableInlining, |
552 disableTypeInference, | 535 disableTypeInference, |
553 dumpInfo, | 536 dumpInfo, |
554 emitJavaScript, | |
555 enableAssertMessage, | 537 enableAssertMessage, |
556 enableGenericMethodSyntax, | 538 enableGenericMethodSyntax, |
557 enableInitializingFormalAccess, | 539 enableInitializingFormalAccess, |
558 enableExperimentalMirrors, | 540 enableExperimentalMirrors, |
559 enableMinification, | 541 enableMinification, |
560 enableNativeLiveTypeAnalysis, | 542 enableNativeLiveTypeAnalysis, |
561 enableTypeAssertions, | 543 enableTypeAssertions, |
562 enableUserAssertions, | 544 enableUserAssertions, |
563 generateCodeWithCompileTimeErrors, | 545 generateCodeWithCompileTimeErrors, |
564 generateSourceMap, | 546 generateSourceMap, |
(...skipping 27 matching lines...) Expand all Loading... |
592 allowMockCompilation: | 574 allowMockCompilation: |
593 allowMockCompilation ?? options.allowMockCompilation, | 575 allowMockCompilation ?? options.allowMockCompilation, |
594 allowNativeExtensions: | 576 allowNativeExtensions: |
595 allowNativeExtensions ?? options.allowNativeExtensions, | 577 allowNativeExtensions ?? options.allowNativeExtensions, |
596 analyzeAll: analyzeAll ?? options.analyzeAll, | 578 analyzeAll: analyzeAll ?? options.analyzeAll, |
597 analyzeMain: analyzeMain ?? options.analyzeMain, | 579 analyzeMain: analyzeMain ?? options.analyzeMain, |
598 analyzeOnly: analyzeOnly ?? options.analyzeOnly, | 580 analyzeOnly: analyzeOnly ?? options.analyzeOnly, |
599 analyzeSignaturesOnly: | 581 analyzeSignaturesOnly: |
600 analyzeSignaturesOnly ?? options.analyzeSignaturesOnly, | 582 analyzeSignaturesOnly ?? options.analyzeSignaturesOnly, |
601 buildId: buildId ?? options.buildId, | 583 buildId: buildId ?? options.buildId, |
602 dart2dartMultiFile: dart2dartMultiFile ?? options.dart2dartMultiFile, | |
603 deferredMapUri: deferredMapUri ?? options.deferredMapUri, | 584 deferredMapUri: deferredMapUri ?? options.deferredMapUri, |
604 fatalWarnings: fatalWarnings ?? options.fatalWarnings, | 585 fatalWarnings: fatalWarnings ?? options.fatalWarnings, |
605 terseDiagnostics: terseDiagnostics ?? options.terseDiagnostics, | 586 terseDiagnostics: terseDiagnostics ?? options.terseDiagnostics, |
606 suppressWarnings: suppressWarnings ?? options.suppressWarnings, | 587 suppressWarnings: suppressWarnings ?? options.suppressWarnings, |
607 suppressHints: suppressHints ?? options.suppressHints, | 588 suppressHints: suppressHints ?? options.suppressHints, |
608 shownPackageWarnings: | 589 shownPackageWarnings: |
609 shownPackageWarnings ?? options._shownPackageWarnings, | 590 shownPackageWarnings ?? options._shownPackageWarnings, |
610 disableInlining: disableInlining ?? options.disableInlining, | 591 disableInlining: disableInlining ?? options.disableInlining, |
611 disableTypeInference: | 592 disableTypeInference: |
612 disableTypeInference ?? options.disableTypeInference, | 593 disableTypeInference ?? options.disableTypeInference, |
613 dumpInfo: dumpInfo ?? options.dumpInfo, | 594 dumpInfo: dumpInfo ?? options.dumpInfo, |
614 emitJavaScript: emitJavaScript ?? options.emitJavaScript, | |
615 enableAssertMessage: enableAssertMessage ?? options.enableAssertMessage, | 595 enableAssertMessage: enableAssertMessage ?? options.enableAssertMessage, |
616 enableGenericMethodSyntax: | 596 enableGenericMethodSyntax: |
617 enableGenericMethodSyntax ?? options.enableGenericMethodSyntax, | 597 enableGenericMethodSyntax ?? options.enableGenericMethodSyntax, |
618 enableInitializingFormalAccess: enableInitializingFormalAccess ?? | 598 enableInitializingFormalAccess: enableInitializingFormalAccess ?? |
619 options.enableInitializingFormalAccess, | 599 options.enableInitializingFormalAccess, |
620 enableExperimentalMirrors: | 600 enableExperimentalMirrors: |
621 enableExperimentalMirrors ?? options.enableExperimentalMirrors, | 601 enableExperimentalMirrors ?? options.enableExperimentalMirrors, |
622 enableMinification: enableMinification ?? options.enableMinification, | 602 enableMinification: enableMinification ?? options.enableMinification, |
623 enableNativeLiveTypeAnalysis: enableNativeLiveTypeAnalysis ?? | 603 enableNativeLiveTypeAnalysis: enableNativeLiveTypeAnalysis ?? |
624 options.enableNativeLiveTypeAnalysis, | 604 options.enableNativeLiveTypeAnalysis, |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 return const <String>[]; | 695 return const <String>[]; |
716 } | 696 } |
717 if (option.startsWith(flag)) { | 697 if (option.startsWith(flag)) { |
718 return option.substring(prefix.length).split(','); | 698 return option.substring(prefix.length).split(','); |
719 } | 699 } |
720 } | 700 } |
721 return null; | 701 return null; |
722 } | 702 } |
723 | 703 |
724 Uri _resolvePlatformConfig(Uri libraryRoot, String platformConfigPath, | 704 Uri _resolvePlatformConfig(Uri libraryRoot, String platformConfigPath, |
725 bool isDart2Dart, Iterable<String> categories) { | 705 Iterable<String> categories) { |
726 if (platformConfigPath != null) { | 706 if (platformConfigPath != null) { |
727 return libraryRoot.resolve(platformConfigPath); | 707 return libraryRoot.resolve(platformConfigPath); |
728 } else if (isDart2Dart) { | |
729 return libraryRoot.resolve(_dart2dartPlatform); | |
730 } else { | 708 } else { |
731 if (categories.length == 0) { | 709 if (categories.length == 0) { |
732 return libraryRoot.resolve(_clientPlatform); | 710 return libraryRoot.resolve(_clientPlatform); |
733 } | 711 } |
734 assert(categories.length <= 2); | 712 assert(categories.length <= 2); |
735 if (categories.contains("Client")) { | 713 if (categories.contains("Client")) { |
736 if (categories.contains("Server")) { | 714 if (categories.contains("Server")) { |
737 return libraryRoot.resolve(_sharedPlatform); | 715 return libraryRoot.resolve(_sharedPlatform); |
738 } | 716 } |
739 return libraryRoot.resolve(_clientPlatform); | 717 return libraryRoot.resolve(_clientPlatform); |
740 } | 718 } |
741 assert(categories.contains("Server")); | 719 assert(categories.contains("Server")); |
742 return libraryRoot.resolve(_serverPlatform); | 720 return libraryRoot.resolve(_serverPlatform); |
743 } | 721 } |
744 } | 722 } |
745 | 723 |
746 Uri _resolvePlatformConfigFromOptions(Uri libraryRoot, List<String> options) { | 724 Uri _resolvePlatformConfigFromOptions(Uri libraryRoot, List<String> options) { |
747 return _resolvePlatformConfig( | 725 return _resolvePlatformConfig( |
748 libraryRoot, | 726 libraryRoot, |
749 _extractStringOption(options, "--platform-config=", null), | 727 _extractStringOption(options, "--platform-config=", null), |
750 _hasOption(options, '--output-type=dart'), | |
751 _extractCsvOption(options, '--categories=')); | 728 _extractCsvOption(options, '--categories=')); |
752 } | 729 } |
753 | 730 |
754 /// Locations of the platform descriptor files relative to the library root. | 731 /// Locations of the platform descriptor files relative to the library root. |
755 const String _clientPlatform = "lib/dart_client.platform"; | 732 const String _clientPlatform = "lib/dart_client.platform"; |
756 const String _serverPlatform = "lib/dart_server.platform"; | 733 const String _serverPlatform = "lib/dart_server.platform"; |
757 const String _sharedPlatform = "lib/dart_shared.platform"; | 734 const String _sharedPlatform = "lib/dart_shared.platform"; |
758 const String _dart2dartPlatform = "lib/dart2dart.platform"; | |
759 | 735 |
760 const String _UNDETERMINED_BUILD_ID = "build number could not be determined"; | 736 const String _UNDETERMINED_BUILD_ID = "build number could not be determined"; |
761 const bool _forceIncrementalSupport = | 737 const bool _forceIncrementalSupport = |
762 const bool.fromEnvironment('DART2JS_EXPERIMENTAL_INCREMENTAL_SUPPORT'); | 738 const bool.fromEnvironment('DART2JS_EXPERIMENTAL_INCREMENTAL_SUPPORT'); |
OLD | NEW |