Update base transitivity error messages for the CFE.

Change-Id: I036d17deb110559b35c043e1cd660dbcafffed1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300324
Auto-Submit: Leaf Petersen <leafp@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Kallen Tu <kallentu@google.com>
This commit is contained in:
Leaf Petersen 2023-05-02 18:23:49 +00:00 committed by Commit Queue
parent eb62db8f28
commit 806ba0a0ca
3 changed files with 82 additions and 100 deletions

View file

@ -50,12 +50,12 @@ class SimpleBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'SimpleBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base class BaseBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -63,18 +63,17 @@ interface class InterfaceBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'InterfaceBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
final class FinalBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
sealed class SealedBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -82,12 +81,12 @@ mixin class MixinClassBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'MixinClassBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^
@ -95,12 +94,12 @@ mixin MixinBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'MixinBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseExtendOn on BaseExtend {}
// ^^^^^^^^^^^^^^^^^
@ -138,12 +137,12 @@ class SimpleFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'SimpleFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base class BaseFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -151,18 +150,17 @@ interface class InterfaceFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'InterfaceFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
final class FinalFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
sealed class SealedFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -170,12 +168,12 @@ mixin class MixinClassFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'MixinClassFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -183,12 +181,12 @@ mixin MixinFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'MixinFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinFinalExtendOn on FinalExtend {}
// ^^^^^^^^^^^^^^^^^^
@ -276,12 +274,12 @@ class SimpleBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'SimpleBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base class BaseBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -289,18 +287,17 @@ interface class InterfaceBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'InterfaceBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
final class FinalBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
sealed class SealedBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -308,12 +305,12 @@ mixin class MixinClassBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'MixinClassBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -321,12 +318,12 @@ mixin MixinBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'MixinBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseMixinOnOn on BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^

View file

@ -50,12 +50,12 @@ class SimpleBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'SimpleBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base class BaseBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -63,18 +63,17 @@ interface class InterfaceBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'InterfaceBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
final class FinalBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
sealed class SealedBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -82,12 +81,12 @@ mixin class MixinClassBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'MixinClassBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseExtendImplement implements BaseExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^
@ -95,12 +94,12 @@ mixin MixinBaseExtendImplement implements BaseExtend {}
// [cfe] The type 'MixinBaseExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseExtend' is 'base'.
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinBaseExtendImplement implements BaseExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseExtendOn on BaseExtend {}
// ^^^^^^^^^^^^^^^^^
@ -138,12 +137,12 @@ class SimpleFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'SimpleFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base class BaseFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -151,18 +150,17 @@ interface class InterfaceFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'InterfaceFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
final class FinalFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
sealed class SealedFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -170,12 +168,12 @@ mixin class MixinClassFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'MixinClassFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinFinalExtendImplement implements FinalExtend {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -183,12 +181,12 @@ mixin MixinFinalExtendImplement implements FinalExtend {}
// [cfe] The type 'MixinFinalExtendImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalExtend' is 'final'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinFinalExtendImplement implements FinalExtend {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinFinalExtendOn on FinalExtend {}
// ^^^^^^^^^^^^^^^^^^
@ -277,12 +275,12 @@ class SimpleBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'SimpleBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base class BaseBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -290,18 +288,17 @@ interface class InterfaceBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'InterfaceBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
final class FinalBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
sealed class SealedBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin class MixinClassBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -309,12 +306,12 @@ mixin class MixinClassBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'MixinClassBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseMixinOnImplement implements BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^
@ -322,12 +319,12 @@ mixin MixinBaseMixinOnImplement implements BaseMixinOn {}
// [cfe] The type 'MixinBaseMixinOnImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinOn' is 'base'.
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinBaseMixinOnImplement implements BaseMixinOn {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
mixin MixinBaseMixinOnOn on BaseMixinOn {}
// ^^^^^^^^^^^^^^^^^^
@ -549,12 +546,12 @@ class SimpleBaseMixinClassApplyImplement implements BaseMixinClassApply {}
// [cfe] The type 'SimpleBaseMixinClassApplyImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinClassApply' is 'base'.
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base class BaseBaseMixinClassApplyImplement implements BaseMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceBaseMixinClassApplyImplement
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -564,33 +561,30 @@ interface class InterfaceBaseMixinClassApplyImplement
BaseMixinClassApply {}
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
final class FinalBaseMixinClassApplyImplement implements BaseMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
sealed class SealedBaseMixinClassApplyImplement
implements BaseMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassBaseMixinClassApplyImplement
implements BaseMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinBaseMixinClassApplyImplement
implements BaseMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
// Final class from mixing in a base mixin class. (valid, used for tests
// below)
@ -605,12 +599,12 @@ class SimpleFinalMixinClassApplyImplement implements FinalMixinClassApply {}
// [cfe] The type 'SimpleFinalMixinClassApplyImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalMixinClassApply' is 'final'.
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base class BaseFinalMixinClassApplyImplement implements FinalMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
interface class InterfaceFinalMixinClassApplyImplement
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -620,34 +614,31 @@ interface class InterfaceFinalMixinClassApplyImplement
FinalMixinClassApply {}
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
final class FinalFinalMixinClassApplyImplement
implements FinalMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
sealed class SealedFinalMixinClassApplyImplement
implements FinalMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin class BaseMixinClassFinalMixinClassApplyImplement
implements FinalMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
base mixin BaseMixinFinalMixinClassApplyImplement
implements FinalMixinClassApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The class 'BaseMixinClass' can't be implemented outside of its library because it's a base class.
// Sealed class from mixing in a base mixin class. (valid, used for tests
// below)

View file

@ -197,12 +197,12 @@ class SimpleBaseMixinApplyImplement implements BaseMixinApply {}
// [cfe] The type 'SimpleBaseMixinApplyImplement' must be 'base', 'final' or 'sealed' because the supertype 'BaseMixinApply' is 'base'.
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base class BaseBaseMixinApplyImplement implements BaseMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
interface class InterfaceBaseMixinApplyImplement
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -212,31 +212,28 @@ interface class InterfaceBaseMixinApplyImplement
BaseMixinApply {}
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
final class FinalBaseMixinApplyImplement implements BaseMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
sealed class SealedBaseMixinApplyImplement implements BaseMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base mixin class BaseMixinClassBaseMixinApplyImplement
implements BaseMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base mixin BaseMixinBaseMixinApplyImplement implements BaseMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
// final class produced from a base mixin (valid, used for tests below)
@ -250,12 +247,12 @@ class SimpleFinalMixinApplyImplement implements FinalMixinApply {}
// [cfe] The type 'SimpleFinalMixinApplyImplement' must be 'base', 'final' or 'sealed' because the supertype 'FinalMixinApply' is 'final'.
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base class BaseFinalMixinApplyImplement implements FinalMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
interface class InterfaceFinalMixinApplyImplement
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -265,31 +262,28 @@ interface class InterfaceFinalMixinApplyImplement
FinalMixinApply {}
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
final class FinalFinalMixinApplyImplement implements FinalMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
sealed class SealedFinalMixinApplyImplement implements FinalMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base mixin class BaseMixinClassFinalMixinApplyImplement
implements FinalMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
base mixin BaseMixinFinalMixinApplyImplement implements FinalMixinApply {}
// ^
// [cfe] unspecified
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_USE_OF_TYPE_OUTSIDE_LIBRARY
// [cfe] The mixin 'BaseMixin' can't be implemented outside of its library because it's a base mixin.
// Sealed class produced from a base mixin (valid, used for tests below)