blob: 5b5e729ce74c3a40a8bc23e5f65491aefdfe4110 [file] [log] [blame]
// 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,
);
}