Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Unified Diff: tests/compiler/dart2js_extra/if_null3_test.dart

Issue 1305663002: [dart2js] fix inference of ??= and []??= (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js_extra/if_null3_test.dart
diff --git a/tests/language/vm/regress_23238_test.dart b/tests/compiler/dart2js_extra/if_null3_test.dart
similarity index 50%
copy from tests/language/vm/regress_23238_test.dart
copy to tests/compiler/dart2js_extra/if_null3_test.dart
index 88250b2a9a924295387efae3bf3b086624d69668..dac99e0d0272f4060e129759a3efbfc8fc037711 100644
--- a/tests/language/vm/regress_23238_test.dart
+++ b/tests/compiler/dart2js_extra/if_null3_test.dart
@@ -2,14 +2,13 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+/// Regression for #24135: inference was not tracking `[]??=` correctly.
+library tests.compiler.dart2js_extra.if_null3_test;
+
import "package:expect/expect.dart";
void main() {
- int x = 327680;
- int r = 65536;
- for (var i = 0; i < 200; i++) {
- Expect.equals(r, x ~/ 5);
- x *= 10;
- r *= 10;
- }
+ var map;
+ (((map ??= {})['key1'] ??= {})['key2'] ??= {})['key3'] = 'value';
+ Expect.equals('{key1: {key2: {key3: value}}}', '$map');
}

Powered by Google App Engine
This is Rietveld 408576698