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

Unified Diff: tests/compiler/dart2js/use_checks_test.dart

Issue 699593004: dart2js: Use type-checks in later operations. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « pkg/compiler/lib/src/ssa/types_propagation.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/use_checks_test.dart
diff --git a/tests/compiler/dart2js/use_checks_test.dart b/tests/compiler/dart2js/use_checks_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..67efbd00329c467874a8fdaf32d15ed88da67d22
--- /dev/null
+++ b/tests/compiler/dart2js/use_checks_test.dart
@@ -0,0 +1,33 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'package:expect/expect.dart';
+import "package:async_helper/async_helper.dart";
+import 'memory_compiler.dart';
herhut 2014/11/07 13:36:58 Nit: Do you need the memory compiler here or would
floitsch 2014/11/07 13:58:16 Unfortunately the mock compiler doesn't work.
+
+const MEMORY_SOURCE_FILES = const {
+ 'main.dart': '''
+main (x, y) {
+ if (x != null) {
+ if (y != null) {
+ // Forces x and y to be int-checked.
+ int a = x;
+ int b = y;
+ // Now we must be able to do a direct "+" operation in JS.
+ return x + y;
+ }
+ }
+}
+''',
+};
+
+main() {
+ var compiler = compilerFor(MEMORY_SOURCE_FILES,
+ options: ['--enable-checked-mode']);
+ asyncTest(() => compiler.runCompiler(Uri.parse('memory:main.dart')).then((_) {
+ var element = compiler.mainApp.findExported('main');
+ var code = compiler.backend.assembleCode(element);
+ Expect.isTrue(code.contains('+'), code);
+ }));
+}
« no previous file with comments | « pkg/compiler/lib/src/ssa/types_propagation.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698