import 'nullable_supertypes.dart' as prefix;

class A {}

class B {}

class C {}

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 {}

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> {}

main() {}
mixin M1 on AAlias {}
mixin M2 on A, BAlias {}
mixin M3 on A implements BAlias {}
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> {}
typedef AAlias = A?;
typedef BAlias = B?;
typedef CAlias = C?;
typedef TAlias<T> = T?;
