| // Copyright (c) 2019, 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. |
| |
| T method1<T>(T t) => t; |
| Map<T, S> method2<T, S>(T t, S s) => {t: s}; |
| |
| const function0 = /*cfe.Function(method1)*/ method1; |
| |
| const int Function(int) instantiation0 = |
| /*cfe.Instantiation(method1<int!>)*/ method1; |
| |
| const Map<String, int> Function(String, int) instantiation1 = |
| /*cfe.Instantiation(method2<String!,int!>)*/ method2; |
| |
| main() { |
| print( |
| /*cfe|dart2js.Function(method1)*/ |
| /*analyzer.Function(method1,type=T Function<T>(T))*/ |
| function0, |
| ); |
| print( |
| /*cfe.Instantiation(method1<int!>)*/ |
| /*dart2js.Instantiation(method1<int>)*/ |
| /*analyzer.Function(method1,type=int Function(int))*/ |
| instantiation0, |
| ); |
| print( |
| /*cfe.Instantiation(method2<String!,int!>)*/ |
| /*dart2js.Instantiation(method2<String,int>)*/ |
| /*analyzer.Function(method2,type=Map<String, int> Function(String, int))*/ |
| instantiation1, |
| ); |
| } |