Index: lib/core/function.dart |
=================================================================== |
--- lib/core/function.dart (revision 13334) |
+++ lib/core/function.dart (working copy) |
@@ -4,5 +4,30 @@ |
// Dart core library. |
+/** |
+ * Super-type of all function types. |
+ * |
+ * A function value, or an instance of a class with a "call" method, is a |
+ * subtype of a function type, and as such, a subtype of [Function]. |
+ */ |
abstract class Function { |
+ /** |
+ * Dynamically call [function] with the specified arguments. |
+ * |
+ * Acts the same as calling function with positional arguments |
+ * corresponding to the elements of [positionalArguments] and |
+ * named arguments corresponding to the elements of [namedArguments]. |
+ * |
+ * This includes giving the same errors if [function] isn't callable or |
+ * if it expects different parameters. |
+ * |
+ * Example: [: Function.apply(foo, [1,2,3], {"f": 4, "g": 5}) :] gives |
+ * exactly the same result as [: foo(1, 2, 3, f: 4, g: 5) :]. |
+ * |
+ * If [positionalArguments] is null, it's considered an empty list. |
+ * If [namedArguments] is omitted or null, it is considered an empty map. |
+ */ |
+ external static apply(Function function, |
+ List positionalArguments, |
+ [Map<String,Dynamic> namedArguments]); |
} |