| // 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 function literal is an object that encapsulates an executable
|
| * unit of code.
|
| * functionExpression:
|
| * formalParameterList functionExpressionBody
|
| * ;
|
| * @description Checks that various valid function literal invocation
|
| * expressions don't produce compile-time errors.
|
| * @author kaigorodov
|
| */
|
|
|
| abstract class I {}
|
| class C implements I{}
|
| typedef tf();
|
|
|
| main() {
|
| () {}();
|
| (k) { return k; }(1);
|
| (() => 1)();
|
| ((C? x, y) => new C())(null, null);
|
| ((C? p1, tf? p2, [tf? p3]) => null)(null, null);
|
| ((C? p1, tf? p2, {tf? p3}) => null)(null, null);
|
|
|
| (tf? p1, tf? p2, [tf? p3]) => null;
|
| try {
|
| ((tf? p1, tf? p2, [tf? p3]) => null)(null, null);
|
| } catch (x) {}
|
| }
|