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