blob: f8f8c26fa59a637f0e63d48d921b250f866872cc [file] [log] [blame]
// Copyright (c) 2021, 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.
void Function<T>() unboundedUnused = <T>() {};
void Function<T>(T) unboundedArg = <T>(T t) {};
T Function<T>() unboundedReturn = <T>() => throw '';
T Function<T>(T) unboundedReturnArg = <T>(T t) => t;
void Function<T extends num>() extendsNumUnused = <T extends num>() {};
void Function<T extends num>(T) extendsNumArg = <T extends num>(T t) {};
T Function<T extends num>() extendsNumReturn = <T extends num>() => throw '';
T Function<T extends num>(T) extendsNumReturnArg = <T extends num>(T t) => t;
void Function<T, U, S>(T, S, U) multipleArgs = (T t, S s, U u) {};
functionInvocations() {
unboundedUnused/*<dynamic>*/();
unboundedUnused<int>();
unboundedArg/*<Null>*/(null);
unboundedArg/*<int>*/(0);
unboundedArg/*<String>*/("");
unboundedArg<num>(0);
unboundedReturn/*<dynamic>*/();
unboundedReturn<int>();
var unboundedReturn1 = unboundedReturn/*<dynamic>*/();
int unboundedReturn2 = unboundedReturn/*<int>*/();
num unboundedReturn3 = unboundedReturn<int>();
unboundedReturnArg/*<Null>*/(null);
unboundedReturnArg/*<int>*/(0);
unboundedReturnArg/*<String>*/("");
unboundedReturnArg<num>(0);
var unboundedReturnArg1 = unboundedReturnArg/*<int>*/(0);
var unboundedReturnArg2 = unboundedReturnArg/*<String>*/("");
num unboundedReturnArg3 = unboundedReturnArg/*<num>*/(0);
int unboundedReturnArg4 = unboundedReturnArg/*<int>*/(0);
int unboundedReturnArg5 = unboundedReturnArg/*<int>*/(0.5);
int unboundedReturnArg6 = unboundedReturnArg/*<int>*/("");
int unboundedReturnArg7 = unboundedReturnArg<num>(0);
extendsNumUnused/*<num>*/();
extendsNumUnused<int>();
// TODO(45660): extendsNumArg<Null>(null);
extendsNumArg/*<int>*/(0);
// TODO(45660): extendsNumArg<String>("");
extendsNumArg<num>(0);
extendsNumReturn/*<num>*/();
extendsNumReturn<int>();
var extendsNumReturn1 = extendsNumReturn/*<num>*/();
int extendsNumReturn2 = extendsNumReturn/*<int>*/();
num extendsNumReturn3 = extendsNumReturn<int>();
// TODO(45660): extendsNumReturnArg(null);
extendsNumReturnArg/*<int>*/(0);
// TODO(45660): extendsNumReturnArg("");
extendsNumReturnArg<num>(0);
var extendsNumReturnArg1 = extendsNumReturnArg/*<int>*/(0);
// TODO(45660): var extendsNumReturnArg2 = extendsNumReturnArg("");
num extendsNumReturnArg3 = extendsNumReturnArg/*<num>*/(0);
int extendsNumReturnArg4 = extendsNumReturnArg/*<int>*/(0);
int extendsNumReturnArg5 = extendsNumReturnArg/*<int>*/(0.5);
int extendsNumReturnArg6 = extendsNumReturnArg/*<int>*/("");
int extendsNumReturnArg7 = extendsNumReturnArg<num>(0);
multipleArgs/*<dynamic,dynamic,dynamic>*/();
multipleArgs/*<int,String,bool>*/(0, true, "");
multipleArgs<int, bool, String>(0, true, "");
}