import 'nullable_supertypes.dart' as prefix;
class A {}
class B {}
class C {}
typedef AAlias = A?;
typedef BAlias = B?;
typedef CAlias = C?;
typedef TAlias<T> = T?;
class C1 extends AAlias {}
class C2 implements AAlias {}
class C3 = A with BAlias;
class C4 = A with B implements CAlias;
class C5 extends A with BAlias {}
mixin M1 on AAlias {}
mixin M2 on A, BAlias {}
mixin M3 on A implements BAlias {}
class D1 extends TAlias<A> {}
class D1a extends prefix.TAlias<A> {}
class D1b extends TAlias<prefix.A> {}
class D2 implements TAlias<A> {}
class D3 = A with TAlias<B>;
class D4 = A with B implements TAlias<C>;
class D5 extends A with TAlias<B> {}
mixin N1 on TAlias<A> {}
mixin N1a on prefix.TAlias<A> {}
mixin N1b on TAlias<prefix.A> {}
mixin N2 on A, TAlias<B> {}
mixin N3 on A implements TAlias<B> {}
main() {}
