library test;

class A {}

class B extends A {
  B operator +(C v) => throw '';
  B operator -(int i) => throw '';
  B operator *(B v) => throw '';
  C operator &(A v) => throw '';
  static B staticVariable = throw '';
  static B? staticVariable2;
}

class C extends B {}

T f<T>() => throw '';
B topLevelVariable = throw '';
B? topLevelVariable2;
void test_topLevelVariable() {}
void test_staticVariable() {}
main() {}
