| 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 |