| // 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); |
| } |