• Tess Strickland's avatar
    Mark defaultTargetPlatform as constant for non-debug non-web builds. (#141105) · 7ca4b7b8
    Tess Strickland authored
    This PR adds the Dart VM `vm:platform-const-if` pragma introduced in
    https://github.com/dart-lang/sdk/commit/57a1168875 to the
    `defaultTargetPlatform` property, allowing it to be computed as if it
    was a constant field in non-debug AOT builds. In particular, this means
    that platform-specific code executed conditionally based on this
    property can be tree-shaken in release builds. Note that this PR changes
    `defaultTargetPlatform` to only allow overriding via
    `debugDefaultTargetPlatformOverride` in debug builds, and makes it so
    that compilation throws an error if code assigns
    to`debugDefaultTargetPlatformOverride` in other build modes.
    
    Related issue: #14233
    
    ## Pre-launch Checklist
    
    - [X] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [X] I read the [Tree Hygiene] wiki page, which explains my
    responsibilities.
    - [X] I read and followed the [Flutter Style Guide], including [Features
    we expect every widget to implement].
    - [X] I signed the [CLA].
    - [X] I listed at least one issue that this PR fixes in the description
    above.
    - [X] I updated/added relevant documentation (doc comments with `///`).
    - [X] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [X] All existing and new tests are passing.
    7ca4b7b8
Name
Last commit
Last update
.github Loading commit data...
.vscode Loading commit data...
bin Loading commit data...
dev Loading commit data...
examples Loading commit data...
packages Loading commit data...
.ci.yaml Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CODEOWNERS Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
PATENT_GRANT Loading commit data...
README.md Loading commit data...
TESTOWNERS Loading commit data...
analysis_options.yaml Loading commit data...
dartdoc_options.yaml Loading commit data...
flutter_console.bat Loading commit data...