blob: 14da17a91f324d60070c28771b30bd3f7a637a98 [file] [log] [blame]
// 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) {}
}