| // Copyright (c) 2018, 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'; | 
 |  | 
 | List<T?> foo<T>([T? a1, T? a2, T? a3, T? a4, T? a5, T? a6, T? a7]) => | 
 |     [a1, a2, a3, a4, a5, a6, a7]; | 
 |  | 
 | class CC { | 
 |   List<T?> bar<T, U, V>([T? a1, T? a2, T? a3, T? a4, T? a5, T? a6]) => | 
 |       [a1, a2, a3, a4, a5, a6]; | 
 | } | 
 |  | 
 | main() { | 
 |   // We expect a call$1$5 entry for foo, accessed nowhere else in the program | 
 |   // except via the call$5 entry on the instantiation. | 
 |   List<int?> Function(int?, int?, int?, int?, int?) f = foo; | 
 |   Expect.equals(4, f(1, 2, 3, 4, 5)[3]); | 
 |  | 
 |   // We expect a bar$3$4 entry for bar, accessed nowhere else in the program | 
 |   // except via the call$4 entry on the instantiation. | 
 |   var o = CC(); | 
 |   List<String?> Function(String?, String?, String?, String?) g = o.bar; | 
 |   Expect.equals('abcdnullnull', g('a', 'b', 'c', 'd').join('')); | 
 | } |