class Class1 {
  int field;
  Class1(this.field);
  int method(double o) => 0;
  static int staticField = 42;
  static int staticMethod(double o) => 0;
}

int topLevelField = 42;
int topLevelMethod(double o) => 0;

class Class2<T> {
  T field;
  Class2(this.field);
  int call() => 42;
}

const String string = 'foo';
const int stringLength = string.length;
const dynamic dynamicString = 'foo';
const int dynamicStringLength = dynamicString.length;
test<T1 extends Function, T2 extends int Function()>(
    Class1 nonNullableClass1,
    Class1? nullableClass1,
    dynamic dyn,
    Never never,
    Class2<String> nonNullableClass2,
    Class2<String>? nullableClass2,
    Function nonNullableFunction,
    Function? nullableFunction,
    int Function() nonNullableFunctionType,
    int Function()? nullableFunctionType,
    T1 nonNullableTypeVariable1,
    T1? nullableTypeVariable1,
    T2 nonNullableTypeVariable2,
    T2? nullableTypeVariable2) {}
main() {}
