Index: pkg/dev_compiler/test/codegen/language/call_function2_test.dart |
diff --git a/pkg/dev_compiler/test/codegen/language/call_function2_test.dart b/pkg/dev_compiler/test/codegen/language/call_function2_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f9a610d62e159772688f70c4a22a1803c8edf92a |
--- /dev/null |
+++ b/pkg/dev_compiler/test/codegen/language/call_function2_test.dart |
@@ -0,0 +1,31 @@ |
+// Copyright (c) 2016, 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. |
+ |
+import "package:expect/expect.dart"; |
+ |
+typedef Object Func(Object x); |
+ |
+class Bar { |
+ int x = 42; |
+ |
+ Object call(Object x) { |
+ return 'Bar $x'; |
+ } |
+} |
+ |
+Object baz(Object x) => x; |
+ |
+var map = <String, Func>{ |
+ 'baz': baz, |
+ 'bar': new Bar() |
+}; |
+ |
+Object test(String str, Object arg) { |
+ return map[str].call(arg); |
+} |
+ |
+void main() { |
+ Expect.equals(42, test('baz', 42)); |
+ Expect.equals('Bar 42', test('bar', 42)); |
+} |