78ce85a7fe
In dart2wasm, when a comparison like `x == "hello"` is true, we can't assume that the class of `x` is the same as the class of `"hello"`: - If `x` is received from JS, it will be `JSStringImpl`. - If it's a substring of a `TwoByteString`, it will be `TwoByteString`. - Otherwise it will be `OneByteString`. Update `Target` with the new method ``` bool get canInferStringClassAfterEqualityComparison => true; ``` to allow TFA to *not* infer classes of string values after comparisons. Override the method to return `false` in dart2wasm's `Target` implementation. Fixes #59901. Tested: web/wasm/issue_59901_test Change-Id: I1a6c8deaf27c54240dd4e821dbd8160914502ad7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/404562 Reviewed-by: Martin Kustermann <kustermann@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Ömer Ağacan <omersa@google.com>
Target configurations.
A target can tailor the kernel IR for a specific backend.