20fb8cb737
Change-Id: I9a8e4fddebeb7a4e467e86256cd89204bfedf07d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150696 Auto-Submit: Bob Nystrom <rnystrom@google.com> Commit-Queue: Erik Ernst <eernst@google.com> Reviewed-by: Erik Ernst <eernst@google.com>
51 lines
809 B
Dart
51 lines
809 B
Dart
// 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";
|
|
|
|
var global = 0;
|
|
|
|
effect() {
|
|
global = 1;
|
|
}
|
|
|
|
baz(b) {
|
|
return b;
|
|
}
|
|
|
|
foo(b) {
|
|
if (b) {
|
|
// do nothing
|
|
} else {
|
|
effect();
|
|
}
|
|
return baz(b);
|
|
}
|
|
|
|
foo2(b) {
|
|
if (b) {
|
|
// do nothing (but implicit return may get inlined up here)
|
|
} else {
|
|
effect();
|
|
}
|
|
}
|
|
|
|
main() {
|
|
global = 0;
|
|
Expect.equals(true, foo(true));
|
|
Expect.equals(0, global);
|
|
|
|
global = 0;
|
|
Expect.equals(false, foo(false));
|
|
Expect.equals(1, global);
|
|
|
|
global = 0;
|
|
foo2(true);
|
|
Expect.equals(0, global);
|
|
|
|
global = 0;
|
|
foo2(false);
|
|
Expect.equals(1, global);
|
|
}
|