| // Copyright (c) 2011, 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 required formal parameter may be specied in one of three ways:
|
| *
|
| * • By means of a function signature that names the parameter and describes
|
| * its type as a function type. It is a compile-time error if any default
|
| * values are specied in the signature of such a function type.
|
| * • As an initializing formal, which is only valid as a parameter to a
|
| * generative constructor.
|
| * • Via an ordinary variable declaration
|
| *
|
| * normalFormalParameter:
|
| * functionSignature |
|
| * fieldFormalParameter |
|
| * simpleFormalParameter
|
| * ;
|
| * simpleFormalParameter:
|
| * declaredIdentifier |
|
| * metadata identifier
|
| * ;
|
| * fieldFormalParameter:
|
| * metadata finalConstVarOrType? this '.' identifier formalParameterList?
|
| * ;
|
| * @description Checks that a functionSignature parameter cannot be declared as
|
| * variable.
|
| * @compile-error
|
| * @author kaigorodov
|
| */
|
|
|
| func(var x()) {
|
| return x();
|
| }
|
|
|
| main() {
|
| func(() {});
|
| }
|