| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:11:7: Error: Can't use 'Double' as a mixin because it has constructors. |
| // class WithFinal with Double {} /* Error */ |
| // ^ |
| // sdk/lib/ffi/native_type.dart:*: Context: This constructor prevents using 'Double' as a mixin. |
| // const Double(); |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:11:22: Error: The class 'Double' can't be used as a mixin because it isn't a mixin class nor a mixin. |
| // class WithFinal with Double {} /* Error */ |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:13:34: Error: The class 'Double' can't be implemented outside of its library because it's a final class. |
| // class ImplementsFinal implements Double {} /* Error */ |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:15:28: Error: The class 'Double' can't be extended outside of its library because it's a final class. |
| // class ExtendsFinal extends Double {} /* Error */ |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:22:33: Error: The class 'Opaque' can't be implemented outside of its library because it's a base class. |
| // class ImplementsBase implements Opaque {} /* Error */ |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:26:32: Error: The class 'Finalizable' can't be extended outside of its library because it's an interface class. |
| // class ExtendsInterface extends Finalizable {} /* Error */ |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/ffi_exception.dart:26:7: Error: The superclass, 'Finalizable', has no unnamed constructor that takes no arguments. |
| // class ExtendsInterface extends Finalizable {} /* Error */ |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "dart:ffi" as ffi; |
| |
| import "dart:ffi"; |
| |
| abstract final class _WithFinal&Object&Double = core::Object with ffi::Double /*isAnonymousMixin,hasConstConstructor*/ { |
| const synthetic constructor •() → self::_WithFinal&Object&Double |
| : super core::Object::•() |
| ; |
| } |
| class WithFinal extends self::_WithFinal&Object&Double { |
| synthetic constructor •() → self::WithFinal |
| : super self::_WithFinal&Object&Double::•() |
| ; |
| } |
| class ImplementsFinal extends core::Object implements ffi::Double { |
| synthetic constructor •() → self::ImplementsFinal |
| : super core::Object::•() |
| ; |
| } |
| class ExtendsFinal extends ffi::Double { |
| synthetic constructor •() → self::ExtendsFinal |
| : super ffi::Double::•() |
| ; |
| } |
| class ExtendsBase extends ffi::Opaque { |
| synthetic constructor •() → self::ExtendsBase |
| : super ffi::Opaque::•() |
| ; |
| } |
| class ImplementsBase extends core::Object implements ffi::Opaque { |
| synthetic constructor •() → self::ImplementsBase |
| : super core::Object::•() |
| ; |
| } |
| class ExtendsInterface extends ffi::Finalizable { |
| synthetic constructor •() → self::ExtendsInterface |
| : invalid-initializer |
| ; |
| } |