dart-sdk/tests/language_2/propagated_argument_type_check_test.dart
Ben Konyi 73e13aefe6 Migrated block 145 to Dart 2.0.
Various changes made for strong mode.

Bug:
Change-Id: I7d57cba0ec0420b68f7c1cf3d31fb4c8577e9898
Reviewed-on: https://dart-review.googlesource.com/13201
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
2017-10-13 23:52:14 +00:00

28 lines
652 B
Dart

// Copyright (c) 2012, 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";
main() {
Expect.equals("str", foo("str"));
}
foo(y) {
dynamic x = 3;
for (int i = 0; i < 2; i++) {
// Make sure that we don't think that the type of x is necessarily
// a number and optimize the x + y expression based on that. The
// value of x changes later...
if (i == 1) return bar(x + y);
x = new A();
}
}
bar(t) => t;
class A {
A() {}
operator +(x) => x;
}