blob: 12dade551bebe3d203e54c5f5d0a50ffa52c2f16 [file] [log] [blame]
/*
* Copyright (c) 2016, 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.
*/
/**
* @assertion A function declaration statement declares a new local function.
* localFunctionDeclaration:
* functionSignature functionBody
* ;
* functionSignature:
* metadata returnType? identifier formalParameterList
* ;
* returnType:
* void |
* type
* ;
* functionBody:
* async? ‘=>’ expression ‘;’ |
* (async | async* | sync*)? block
* ;
* block:
* '{' statements '}'
* ;
* @description Checks that when a local function declared with the function
* body of a form (1) `=> expession` it may have `async` before a function body,
* (2) 'block` it may have async, async* and sync* a block.
* @author ngl@unipro.ru
*/
main() {
f0() async => 3;
f1() async {}
f2() async* {}
f3() sync* {};
}