20faaa5d94
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784 Reviewed-by: Paul Berry <paulberry@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>
120 lines
2.9 KiB
Dart
120 lines
2.9 KiB
Dart
// Copyright (c) 2018, 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.
|
|
|
|
// @dart = 2.7
|
|
|
|
main() {
|
|
staticCalledInForLoop();
|
|
staticCalledInForInLoop();
|
|
staticCalledInWhileLoop();
|
|
staticCalledInDoLoop();
|
|
instanceCalledInForLoop();
|
|
staticCalledIndirectlyInForLoop();
|
|
}
|
|
|
|
/*member: _staticCalledInForLoop:loop*/
|
|
_staticCalledInForLoop() {}
|
|
|
|
/*member: _staticNotCalledInForLoop:*/
|
|
_staticNotCalledInForLoop() {}
|
|
|
|
/*member: staticCalledInForLoop:*/
|
|
staticCalledInForLoop() {
|
|
_staticNotCalledInForLoop();
|
|
for (int i = 0; i < 10; i++) {
|
|
_staticCalledInForLoop();
|
|
}
|
|
_staticNotCalledInForLoop();
|
|
}
|
|
|
|
/*member: _staticCalledInForInLoop:loop*/
|
|
_staticCalledInForInLoop() {}
|
|
|
|
/*member: _staticNotCalledInForInLoop:*/
|
|
_staticNotCalledInForInLoop() {}
|
|
|
|
/*member: staticCalledInForInLoop:*/
|
|
staticCalledInForInLoop() {
|
|
_staticNotCalledInForInLoop();
|
|
// ignore: unused_local_variable
|
|
for (int i in [1, 2, 3]) {
|
|
_staticCalledInForInLoop();
|
|
}
|
|
_staticNotCalledInForInLoop();
|
|
}
|
|
|
|
/*member: _staticCalledInWhileLoop:loop*/
|
|
_staticCalledInWhileLoop() {}
|
|
|
|
/*member: _staticNotCalledInWhileLoop:*/
|
|
_staticNotCalledInWhileLoop() {}
|
|
|
|
/*member: staticCalledInWhileLoop:*/
|
|
staticCalledInWhileLoop() {
|
|
int i = 0;
|
|
_staticNotCalledInWhileLoop();
|
|
while (i < 10) {
|
|
_staticCalledInWhileLoop();
|
|
i++;
|
|
}
|
|
_staticNotCalledInWhileLoop();
|
|
}
|
|
|
|
/*member: _staticCalledInDoLoop:loop*/
|
|
_staticCalledInDoLoop() {}
|
|
|
|
/*member: _staticNotCalledInDoLoop:*/
|
|
_staticNotCalledInDoLoop() {}
|
|
|
|
/*member: staticCalledInDoLoop:*/
|
|
staticCalledInDoLoop() {
|
|
int i = 0;
|
|
_staticNotCalledInDoLoop();
|
|
do {
|
|
_staticCalledInDoLoop();
|
|
i++;
|
|
} while (i <= 10);
|
|
_staticNotCalledInDoLoop();
|
|
}
|
|
|
|
class Class {
|
|
/*member: Class.constructorCalledInForLoop:loop*/
|
|
Class.constructorCalledInForLoop();
|
|
|
|
/*member: Class.constructorNotCalledInForLoop:*/
|
|
Class.constructorNotCalledInForLoop();
|
|
|
|
// TODO(johnniwinther): Should we track instance calls in loops?
|
|
/*member: Class.instanceCalledInForLoop:loop*/
|
|
instanceCalledInForLoop() {}
|
|
|
|
/*member: Class.instanceNotCalledInForLoop:*/
|
|
instanceNotCalledInForLoop() {}
|
|
}
|
|
|
|
/*member: instanceCalledInForLoop:*/
|
|
instanceCalledInForLoop() {
|
|
var c = new Class.constructorNotCalledInForLoop();
|
|
c.instanceNotCalledInForLoop();
|
|
for (int i = 0; i < 10; i++) {
|
|
new Class.constructorCalledInForLoop();
|
|
c.instanceCalledInForLoop();
|
|
}
|
|
c.instanceNotCalledInForLoop();
|
|
}
|
|
|
|
// TODO(johnniwinther): Should we track indirect calls in loops?
|
|
/*member: _staticCalledIndirectlyInForLoop:*/
|
|
_staticCalledIndirectlyInForLoop() {}
|
|
|
|
/*member: _staticCalledIndirectlyInForLoopHelper:loop*/
|
|
_staticCalledIndirectlyInForLoopHelper() => _staticCalledIndirectlyInForLoop();
|
|
|
|
/*member: staticCalledIndirectlyInForLoop:*/
|
|
staticCalledIndirectlyInForLoop() {
|
|
for (int i = 0; i < 10; i++) {
|
|
_staticCalledIndirectlyInForLoopHelper();
|
|
}
|
|
}
|