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>
183 lines
2.9 KiB
Dart
183 lines
2.9 KiB
Dart
// Copyright (c) 2017, 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
|
|
|
|
/*member: main:[]*/
|
|
main() {
|
|
asyncMethod();
|
|
asyncStarMethod();
|
|
syncStarMethod();
|
|
localFunction();
|
|
anonymousFunction();
|
|
tryCatch();
|
|
tryFinally();
|
|
tryWithRethrow();
|
|
forLoop();
|
|
forInLoop();
|
|
whileLoop();
|
|
doLoop();
|
|
|
|
multipleReturns();
|
|
codeAfterReturn();
|
|
multipleThrows();
|
|
returnAndThrow();
|
|
|
|
throwClosure();
|
|
returnClosure();
|
|
closureInInitializer();
|
|
}
|
|
|
|
/*member: _multipleReturns:code after return*/
|
|
_multipleReturns(c) {
|
|
if (c)
|
|
return;
|
|
else
|
|
return;
|
|
}
|
|
|
|
/*member: multipleReturns:[]*/
|
|
@pragma('dart2js:noInline')
|
|
multipleReturns() {
|
|
_multipleReturns(true);
|
|
_multipleReturns(false);
|
|
}
|
|
|
|
/*member: _codeAfterReturn:code after return*/
|
|
_codeAfterReturn(c) {
|
|
if (c) return;
|
|
print(c);
|
|
}
|
|
|
|
/*member: codeAfterReturn:[]*/
|
|
@pragma('dart2js:noInline')
|
|
codeAfterReturn() {
|
|
_codeAfterReturn(true);
|
|
_codeAfterReturn(false);
|
|
}
|
|
|
|
/*member: _multipleThrows:[]*/
|
|
_multipleThrows(c) {
|
|
if (c)
|
|
throw '';
|
|
else
|
|
throw '';
|
|
}
|
|
|
|
/*member: multipleThrows:[]*/
|
|
@pragma('dart2js:noInline')
|
|
multipleThrows() {
|
|
_multipleThrows(true);
|
|
_multipleThrows(false);
|
|
}
|
|
|
|
/*member: _returnAndThrow:code after return*/
|
|
_returnAndThrow(c) {
|
|
if (c)
|
|
return;
|
|
else
|
|
throw '';
|
|
}
|
|
|
|
/*member: returnAndThrow:[]*/
|
|
@pragma('dart2js:noInline')
|
|
returnAndThrow() {
|
|
_returnAndThrow(true);
|
|
_returnAndThrow(false);
|
|
}
|
|
|
|
/*member: asyncMethod:async/await*/
|
|
asyncMethod() async {}
|
|
|
|
/*member: asyncStarMethod:async/await*/
|
|
asyncStarMethod() async* {}
|
|
|
|
/*member: syncStarMethod:async/await*/
|
|
syncStarMethod() sync* {}
|
|
|
|
/*member: localFunction:closure*/
|
|
localFunction() {
|
|
// ignore: UNUSED_ELEMENT
|
|
/*[]*/ local() {}
|
|
}
|
|
|
|
/*member: anonymousFunction:closure*/
|
|
anonymousFunction() {
|
|
/*[]*/ () {};
|
|
}
|
|
|
|
/*member: tryCatch:try*/
|
|
tryCatch() {
|
|
try {} catch (e) {}
|
|
}
|
|
|
|
/*member: tryFinally:try*/
|
|
tryFinally() {
|
|
try {} finally {}
|
|
}
|
|
|
|
/*member: tryWithRethrow:try*/
|
|
tryWithRethrow() {
|
|
try {} catch (e) {
|
|
rethrow;
|
|
}
|
|
}
|
|
|
|
/*member: forLoop:loop*/
|
|
forLoop() {
|
|
for (int i = 0; i < 10; i++) {
|
|
print(i);
|
|
}
|
|
}
|
|
|
|
/*member: forInLoop:loop*/
|
|
forInLoop() {
|
|
for (var e in [0, 1, 2]) {
|
|
print(e);
|
|
}
|
|
}
|
|
|
|
/*member: whileLoop:loop*/
|
|
whileLoop() {
|
|
int i = 0;
|
|
while (i < 10) {
|
|
print(i);
|
|
i++;
|
|
}
|
|
}
|
|
|
|
/*member: doLoop:loop*/
|
|
doLoop() {
|
|
int i = 0;
|
|
do {
|
|
print(i);
|
|
i++;
|
|
} while (i < 10);
|
|
}
|
|
|
|
/*member: returnClosure:closure*/
|
|
returnClosure() {
|
|
return /*[]*/ () {};
|
|
}
|
|
|
|
/*member: throwClosure:closure*/
|
|
throwClosure() {
|
|
throw /*[]*/ () {};
|
|
}
|
|
|
|
class Class1 {
|
|
var f;
|
|
|
|
/*member: Class1.:closure*/
|
|
Class1() : f = (/*[]*/ () {}) {
|
|
print(f);
|
|
}
|
|
}
|
|
|
|
/*member: closureInInitializer:[]*/
|
|
@pragma('dart2js:noInline')
|
|
closureInInitializer() {
|
|
new Class1();
|
|
}
|