// 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(); }