blob: dc5273c441b9d87dae18607de4292523ce29e29b [file] [log] [blame] [edit]
// Copyright (c) 2023, 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.
/// @assertion Mixin class can be constructed, extended, implemented and mixed
/// in but is not exhaustive
///
/// @description Checks that a `mixin class` can be mixed in outside of the
/// library where it is defined
/// @author sgrekhov22@gmail.com
import "class_modifiers_lib.dart";
class ClassWithMixinClass with MixinClass {}
base class BaseClassWithMixinClass with MixinClass {}
interface class InterfaceClassWithMixinClass with MixinClass {}
final class FinalClassWithMixinClass with MixinClass {}
sealed class SealedClassWithMixinClass with MixinClass {}
abstract class AbstractClassWithMixinClass with MixinClass {}
abstract base class AbstractBaseClassWithMixinClass with MixinClass {}
abstract interface class AbstractInterfaceClassWithMixinClass with MixinClass {}
abstract final class AbstractFinalClassWithMixinClass with MixinClass {}
enum EnumWithMixinClass with MixinClass { e1, e2 }
main() {
print(ClassWithMixinClass);
print(BaseClassWithMixinClass);
print(InterfaceClassWithMixinClass);
print(FinalClassWithMixinClass);
print(SealedClassWithMixinClass);
print(AbstractClassWithMixinClass);
print(AbstractBaseClassWithMixinClass);
print(AbstractInterfaceClassWithMixinClass);
print(AbstractFinalClassWithMixinClass);
print(EnumWithMixinClass);
}