blob: 93d9ca95c09aa5b31e1edcf4684244cd5bff2be1 [file] [log] [blame]
// Copyright (c) 2015, 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.
/// Typedefs defining commonly used function types to make it simpler to
/// define members that return specific function types.
library func;
typedef R Func0<R>();
typedef R Func1<A, R>(A a);
typedef R Func2<A, B, R>(A a, B b);
typedef R Func3<A, B, C, R>(A a, B b, C c);
typedef R Func4<A, B, C, D, R>(A a, B b, C c, D d);
typedef R Func5<A, B, C, D, E, R>(A a, B b, C c, D d, E e);
typedef R Func6<A, B, C, D, E, F, R>(A a, B b, C c, D d, E e, F f);
typedef R Func7<A, B, C, D, E, F, G, R>(A a, B b, C c, D d, E e, F f, G g);
typedef R Func8<A, B, C, D, E, F, G, H, R>(
A a, B b, C c, D d, E e, F f, G g, H h);
typedef R Func9<A, B, C, D, E, F, G, H, I, R>(
A a, B b, C c, D d, E e, F f, G g, H h, I i);
typedef R Func10<A, B, C, D, E, F, G, H, I, J, R>(
A a, B b, C c, D d, E e, F f, G g, H h, I i, J j);
typedef R Func1Opt1<A, R>([A a]);
typedef R Func2Opt1<A, B, R>(A a, [B b]);
typedef R Func3Opt1<A, B, C, R>(A a, B b, [C c]);
typedef R Func4Opt1<A, B, C, D, R>(A a, B b, C c, [D d]);
typedef R Func5Opt1<A, B, C, D, E, R>(A a, B b, C c, D d, [E e]);
typedef R Func6Opt1<A, B, C, D, E, F, R>(A a, B b, C c, D d, E e, [F f]);
typedef R Func7Opt1<A, B, C, D, E, F, G, R>(A a, B b, C c, D d, E e, F f,
[G g]);
typedef R Func8Opt1<A, B, C, D, E, F, G, H, R>(
A a, B b, C c, D d, E e, F f, G g,
[H h]);
typedef R Func9Opt1<A, B, C, D, E, F, G, H, I, R>(
A a, B b, C c, D d, E e, F f, G g, H h,
[I i]);
typedef R Func10Opt1<A, B, C, D, E, F, G, H, I, J, R>(
A a, B b, C c, D d, E e, F f, G g, H h, I i,
[J j]);
typedef void VoidFunc0();
typedef void VoidFunc1<A>(A a);
typedef void VoidFunc2<A, B>(A a, B b);
typedef void VoidFunc3<A, B, C>(A a, B b, C c);
typedef void VoidFunc4<A, B, C, D>(A a, B b, C c, D d);
typedef void VoidFunc5<A, B, C, D, E>(A a, B b, C c, D d, E e);
typedef void VoidFunc6<A, B, C, D, E, F>(A a, B b, C c, D d, E e, F f);
typedef void VoidFunc7<A, B, C, D, E, F, G>(A a, B b, C c, D d, E e, F f, G g);
typedef void VoidFunc8<A, B, C, D, E, F, G, H>(
A a, B b, C c, D d, E e, F f, G g, H h);
typedef void VoidFunc9<A, B, C, D, E, F, G, H, I>(
A a, B b, C c, D d, E e, F f, G g, H h, I i);
typedef void VoidFunc10<A, B, C, D, E, F, G, H, I, J>(
A a, B b, C c, D d, E e, F f, G g, H h, I i, J j);
typedef void VoidFunc1Opt1<A>([A a]);
typedef void VoidFunc2Opt1<A, B>(A a, [B b]);
typedef void VoidFunc3Opt1<A, B, C>(A a, B b, [C c]);
typedef void VoidFunc4Opt1<A, B, C, D>(A a, B b, C c, [D d]);
typedef void VoidFunc5Opt1<A, B, C, D, E>(A a, B b, C c, D d, [E e]);
typedef void VoidFunc6Opt1<A, B, C, D, E, F>(A a, B b, C c, D d, E e, [F f]);
typedef void VoidFunc7Opt1<A, B, C, D, E, F, G>(A a, B b, C c, D d, E e, F f,
[G g]);
typedef void VoidFunc8Opt1<A, B, C, D, E, F, G, H>(
A a, B b, C c, D d, E e, F f, G g,
[H h]);
typedef void VoidFunc9Opt1<A, B, C, D, E, F, G, H, I>(
A a, B b, C c, D d, E e, F f, G g, H h,
[I i]);
typedef void VoidFunc10Opt1<A, B, C, D, E, F, G, H, I, J>(
A a, B b, C c, D d, E e, F f, G g, H h, I i,
[J j]);