[flip-modifiers] Make more tests use mixin instead of class.

Change-Id: I27ee447599941e7f266ae56bd6663fe1936394fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287223
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
This commit is contained in:
Kallen Tu 2023-03-07 23:59:39 +00:00 committed by Commit Queue
parent b815ddc2b8
commit 627253ed83
61 changed files with 98 additions and 264 deletions

View file

@ -2,7 +2,7 @@
// 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.
class Class<T> {}
mixin Class<T> {}
class ConcreteClass implements Class<ConcreteClass> {}

View file

@ -605,10 +605,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
: super core::Object::•()
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -605,10 +605,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
: super core::Object::•()
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -1,4 +1,4 @@
class Class<T> {}
mixin Class<T> {}
class ConcreteClass implements Class<ConcreteClass> {}

View file

@ -1,5 +1,3 @@
class Class<T> {}
class Class1<
T1 extends F,
T2 extends F<dynamic>,
@ -95,6 +93,7 @@ extension Extension<
S8 extends G<int>> on Class {}
main() {}
mixin Class<T> {}
mixin Mixin1<
T1 extends F,
T2 extends F<dynamic>,

View file

@ -605,10 +605,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
: super core::Object::•()
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -605,10 +605,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
: super core::Object::•()
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -514,9 +514,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -605,10 +605,7 @@ typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
typedef Typedef1<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
typedef Typedef2 = <T1 extends self::Class<dynamic> = dynamic, T2 extends dynamic, T3 extends self::Class<dynamic> = dynamic, T4 extends self::Class<dynamic> = dynamic, T5 extends self::ConcreteClass = dynamic, T6 extends self::Class<self::ConcreteClass> = dynamic, T7 extends core::Object = dynamic, T8 extends core::int = dynamic, S1 extends self::G<self::Class<dynamic>> = dynamic, S2 extends self::G<dynamic> = dynamic, S3 extends self::G<self::Class<dynamic>> = dynamic, S4 extends self::G<self::Class<dynamic>> = dynamic, S5 extends self::G<self::ConcreteClass> = dynamic, S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, S7 extends self::G<core::Object> = dynamic, S8 extends self::G<core::int> = dynamic>() → void;
typedef Typedef3<unrelated T1 extends self::Class<dynamic> = dynamic, unrelated T2 extends dynamic, unrelated T3 extends self::Class<dynamic> = dynamic, unrelated T4 extends self::Class<dynamic> = dynamic, unrelated T5 extends self::ConcreteClass = dynamic, unrelated T6 extends self::Class<self::ConcreteClass> = dynamic, unrelated T7 extends core::Object = dynamic, unrelated T8 extends core::int = dynamic, unrelated S1 extends self::G<self::Class<dynamic>> = dynamic, unrelated S2 extends self::G<dynamic> = dynamic, unrelated S3 extends self::G<self::Class<dynamic>> = dynamic, unrelated S4 extends self::G<self::Class<dynamic>> = dynamic, unrelated S5 extends self::G<self::ConcreteClass> = dynamic, unrelated S6 extends self::G<self::Class<self::ConcreteClass>> = dynamic, unrelated S7 extends self::G<core::Object> = dynamic, unrelated S8 extends self::G<core::int> = dynamic> = () → void;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Class<self::Class::T%>
: super core::Object::•()
;
abstract class Class<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() → self::ConcreteClass

View file

@ -14,17 +14,17 @@ mixin A implements Interface {
String method(num i, {String s = "hello"}) => s;
}
abstract class B implements Interface {
mixin B implements Interface {
String method(num i);
}
class C with A, B {} // error
abstract class D implements Interface, Interface2 {}
mixin D implements Interface, Interface2 {}
class E with A, D {} // ok
abstract class F implements Interface {}
mixin F implements Interface {}
class G with A, F {} // ok

View file

@ -31,10 +31,7 @@ abstract class A extends core::Object implements self::Interface /*isMixinDeclar
method method(core::num i, {core::String s = #C1}) → core::String
return s;
}
abstract class B extends core::Object implements self::Interface {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object implements self::Interface /*isMixinDeclaration*/ {
abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -55,10 +52,7 @@ class C extends self::_C&Object&A&B {
: super self::_C&Object&A&B::•()
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -80,10 +74,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -9,18 +9,17 @@ abstract class Interface2 {
mixin A implements Interface {
String method(num i, {String s = "hello"}) => s;
}
abstract class B implements Interface {
mixin B implements Interface {
String method(num i);
}
class C with A, B {}
abstract class D implements Interface, Interface2 {}
mixin D implements Interface, Interface2 {}
class E with A, D {}
abstract class F implements Interface {}
mixin F implements Interface {}
class G with A, F {}

View file

@ -1,11 +1,3 @@
abstract class B implements Interface {
String method(num i);
}
abstract class D implements Interface, Interface2 {}
abstract class F implements Interface {}
abstract class Interface {
String method(num i);
}
@ -24,3 +16,8 @@ main() {}
mixin A implements Interface {
String method(num i, {String s = "hello"}) => s;
}
mixin B implements Interface {
String method(num i);
}
mixin D implements Interface, Interface2 {}
mixin F implements Interface {}

View file

@ -31,10 +31,7 @@ abstract class A extends core::Object implements self::Interface /*isMixinDeclar
method method(core::num i, {core::String s = #C1}) → core::String
return s;
}
abstract class B extends core::Object implements self::Interface {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object implements self::Interface /*isMixinDeclaration*/ {
abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -55,10 +52,7 @@ class C extends self::_C&Object&A&B {
: super self::_C&Object&A&B::•()
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -80,10 +74,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -31,10 +31,7 @@ abstract class A extends core::Object implements self::Interface /*isMixinDeclar
method method(core::num i, {core::String s = #C1}) → core::String
return s;
}
abstract class B extends core::Object implements self::Interface {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object implements self::Interface /*isMixinDeclaration*/ {
abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -55,10 +52,7 @@ class C extends self::_C&Object&A&B {
: super self::_C&Object&A&B::•()
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -80,10 +74,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -29,9 +29,7 @@ abstract class A extends core::Object implements self::Interface /*isMixinDeclar
method method(core::num i, {core::String s = "hello"}) → core::String
;
}
abstract class B extends core::Object implements self::Interface {
synthetic constructor •() → self::B
;
abstract class B extends core::Object implements self::Interface /*isMixinDeclaration*/ {
abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -51,9 +49,7 @@ class C extends self::_C&Object&A&B {
synthetic constructor •() → self::C
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -74,9 +70,7 @@ class E extends self::_E&Object&A&D {
synthetic constructor •() → self::E
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -18,11 +18,11 @@ abstract class B implements Interface {
String method(num i);
}
abstract class D implements Interface, Interface2 {}
mixin D implements Interface, Interface2 {}
class E with A, D {} // ok
abstract class F implements Interface {}
mixin F implements Interface {}
class G with A, F {} // ok

View file

@ -24,10 +24,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -49,10 +46,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -24,10 +24,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@ -49,10 +46,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -14,11 +14,11 @@ abstract class B implements Interface {
String method(num i);
}
abstract class D implements Interface, Interface2 {}
mixin D implements Interface, Interface2 {}
class E with A, D {}
abstract class F implements Interface {}
mixin F implements Interface {}
class G with A, F {}

View file

@ -2,10 +2,6 @@ abstract class B implements Interface {
String method(num i);
}
abstract class D implements Interface, Interface2 {}
abstract class F implements Interface {}
abstract class Interface {
String method(num i);
}
@ -22,3 +18,5 @@ main() {}
mixin A implements Interface {
String method(num i, {String s = "hello"}) => s;
}
mixin D implements Interface, Interface2 {}
mixin F implements Interface {}

View file

@ -24,10 +24,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -49,10 +46,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -24,10 +24,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -49,10 +46,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -21,9 +21,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
@ -44,9 +42,7 @@ class E extends self::_E&Object&A&D {
synthetic constructor •() → self::E
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -24,10 +24,7 @@ abstract class B extends core::Object implements self::Interface {
;
abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
synthetic constructor •() → self::D
: super core::Object::•()
;
abstract class D extends core::Object implements self::Interface, self::Interface2 /*isMixinDeclaration*/ {
abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@ -49,10 +46,7 @@ class E extends self::_E&Object&A&D {
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
synthetic constructor •() → self::F
: super core::Object::•()
;
abstract class F extends core::Object implements self::Interface /*isMixinDeclaration*/ {
}
abstract class _G&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_G&Object&A

View file

@ -20,7 +20,7 @@ class A {
int boz = 0;
}
abstract class B<X> {
mixin B<X> {
X foo(X x);
X bar({required X x});
void set baz(X x);

View file

@ -19,10 +19,7 @@ class A extends core::Object {
core::print(x.{core::Object::runtimeType}{core::Type});
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = #C1}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -19,10 +19,7 @@ class A extends core::Object {
core::print(x.{core::Object::runtimeType}{core::Type});
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = #C1}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -5,7 +5,7 @@ class A {
int boz = 0;
}
abstract class B<X> {
mixin B<X> {
X foo(X x);
X bar({required X x});
void set baz(X x);

View file

@ -1,10 +1,3 @@
abstract class B<X> {
X bar({required X x});
X foo(X x);
void set baz(X x);
void set boz(X x);
}
class A {
int boz = 0;
num bar({required int x}) {}
@ -14,5 +7,11 @@ class A {
class C extends A with B<num> {}
mixin B<X> {
X bar({required X x});
X foo(X x);
void set baz(X x);
void set boz(X x);
}
throws(void Function() f) {}
void main() {}

View file

@ -19,10 +19,7 @@ class A extends core::Object {
core::print(x.{core::Object::runtimeType}{core::Type});
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = #C1}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -19,10 +19,7 @@ class A extends core::Object {
core::print(x.{core::Object::runtimeType}{core::Type});
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = #C1}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -13,9 +13,7 @@ class A extends core::Object {
set baz(core::int x) → void
;
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = null}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -19,10 +19,7 @@ class A extends core::Object {
core::print(x.{core::Object::runtimeType}{core::Type});
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
abstract method bar({required covariant-by-class self::B::X% x = #C1}) → self::B::X%;
abstract set baz(covariant-by-class self::B::X% x) → void;

View file

@ -9,7 +9,7 @@ class A {
}
}
abstract class B<X> {
mixin B<X> {
X foo(X x);
}

View file

@ -11,10 +11,7 @@ class A extends core::Object {
return 1.1;
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {

View file

@ -11,10 +11,7 @@ class A extends core::Object {
return 1.1;
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B extends self::A implements self::B<core::num> /*isAnonymousMixin,isEliminatedMixin*/ {

View file

@ -2,7 +2,7 @@ class A {
num foo(num n) {}
}
abstract class B<X> {
mixin B<X> {
X foo(X x);
}

View file

@ -1,11 +1,10 @@
abstract class B<X> {
X foo(X x);
}
class A {
num foo(num n) {}
}
class C extends A with B<num> {}
mixin B<X> {
X foo(X x);
}
void main() {}

View file

@ -11,10 +11,7 @@ class A extends core::Object {
return 1.1;
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {

View file

@ -11,10 +11,7 @@ class A extends core::Object {
return 1.1;
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {

View file

@ -8,9 +8,7 @@ class A extends core::Object {
method foo(core::num n) → core::num
;
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B = self::A with self::B<core::num> /*isAnonymousMixin*/ {

View file

@ -11,10 +11,7 @@ class A extends core::Object {
return 1.1;
}
}
abstract class B<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::B<self::B::X%>
: super core::Object::•()
;
abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method foo(covariant-by-class self::B::X% x) → self::B::X%;
}
abstract class _C&A&B extends self::A implements self::B<core::num> /*isAnonymousMixin,isEliminatedMixin*/ {

View file

@ -10,8 +10,8 @@ modules:
module:
module/a.dart: |
class A { }
class B { }
class C { }
mixin B { }
mixin C { }
class AB = A with B;
module/.dart_tool/package_config.json: |
{

View file

@ -16,15 +16,9 @@ library from "package:module/a.dart" as a {
: super dart.core::Object::•()
;
}
class B extends dart.core::Object {
synthetic constructor •() → a::B
: super dart.core::Object::•()
;
abstract class B extends dart.core::Object /*isMixinDeclaration*/ {
}
class C extends dart.core::Object {
synthetic constructor •() → a::C
: super dart.core::Object::•()
;
abstract class C extends dart.core::Object /*isMixinDeclaration*/ {
}
class AB = a::A with a::B {
synthetic constructor •() → a::AB

View file

@ -11,7 +11,7 @@ worlds:
sources:
main.dart: |
import "lib.dart";
class B {}
mixin B {}
class C = A with B;
lib.dart: |
class A {

View file

@ -12,10 +12,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///lib.dart";
class B extends dart.core::Object {
synthetic constructor •() → main::B
: super dart.core::Object::•()
;
abstract class B extends dart.core::Object /*isMixinDeclaration*/ {
}
class C extends lib::A implements main::B /*isEliminatedMixin*/ {
synthetic constructor •([dart.core::int? a = #C1]) → main::C

View file

@ -12,10 +12,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///lib.dart";
class B extends dart.core::Object {
synthetic constructor •() → main::B
: super dart.core::Object::•()
;
abstract class B extends dart.core::Object /*isMixinDeclaration*/ {
}
class C extends lib::A implements main::B /*isEliminatedMixin*/ {
synthetic constructor •([dart.core::int? a = #C1]) → main::C

View file

@ -12,7 +12,7 @@ worlds:
void method(covariant int i) {}
}
class Mixin {
mixin Mixin {
void method(num i) {}
}

View file

@ -15,10 +15,7 @@ library from "org-dartlang-test:///main_lib1.dart" as mai2 {
;
method method(covariant-by-declaration dart.core::int i) → void {}
}
class Mixin extends dart.core::Object {
synthetic constructor •() → mai2::Mixin
: super dart.core::Object::•()
;
abstract class Mixin extends dart.core::Object /*isMixinDeclaration*/ {
method method(dart.core::num i) → void {}
}
abstract class _Class&SuperClass&Mixin = mai2::SuperClass with mai2::Mixin /*isAnonymousMixin*/ {

View file

@ -16,10 +16,7 @@ library from "org-dartlang-test:///main_lib1.dart" as mai2 {
;
method method(covariant-by-declaration dart.core::int i) → void {}
}
class Mixin extends dart.core::Object {
synthetic constructor •() → mai2::Mixin
: super dart.core::Object::•()
;
abstract class Mixin extends dart.core::Object /*isMixinDeclaration*/ {
method method(dart.core::num i) → void {}
}
abstract class _Class&SuperClass&Mixin = mai2::SuperClass with mai2::Mixin /*isAnonymousMixin*/ {

View file

@ -15,10 +15,7 @@ library from "org-dartlang-test:///main_lib1.dart" as mai2 {
;
method method(covariant-by-declaration dart.core::int i) → void {}
}
class Mixin extends dart.core::Object {
synthetic constructor •() → mai2::Mixin
: super dart.core::Object::•()
;
abstract class Mixin extends dart.core::Object /*isMixinDeclaration*/ {
method method(dart.core::num i) → void {}
}
abstract class _Class&SuperClass&Mixin = mai2::SuperClass with mai2::Mixin /*isAnonymousMixin*/ {

View file

@ -13,7 +13,7 @@ worlds:
class A extends Object with B {
foo() {}
}
class B {
mixin B {
bar() {}
}
expectedLibraryCount: 1
@ -27,7 +27,7 @@ worlds:
class A extends Object with B {
foo() {}
}
class B {
mixin B {
bar() {}
}
expectedLibraryCount: 1

View file

@ -13,10 +13,7 @@ library from "org-dartlang-test:///main.dart" as main {
;
method foo() → dynamic {}
}
class B extends dart.core::Object {
synthetic constructor •() → main::B
: super dart.core::Object::•()
;
abstract class B extends dart.core::Object /*isMixinDeclaration*/ {
method bar() → dynamic {}
}
}

View file

@ -13,10 +13,7 @@ library from "org-dartlang-test:///main.dart" as main {
;
method foo() → dynamic {}
}
class B extends dart.core::Object {
synthetic constructor •() → main::B
: super dart.core::Object::•()
;
abstract class B extends dart.core::Object /*isMixinDeclaration*/ {
method bar() → dynamic {}
}
}

View file

@ -12,7 +12,7 @@ worlds:
main.dart: |
import 'libA.dart';
class Foo {
mixin Foo {
method() {
print("A");
}
@ -35,7 +35,7 @@ worlds:
main.dart: |
import 'libA.dart';
class Foo {
mixin Foo {
method() {
print("B");
}

View file

@ -24,10 +24,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///libA.dart";
class Foo extends dart.core::Object {
synthetic constructor •() → main::Foo
: super dart.core::Object::•()
;
abstract class Foo extends dart.core::Object /*isMixinDeclaration*/ {
method method() → dynamic {
dart.core::print("A");
}

View file

@ -24,10 +24,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///libA.dart";
class Foo extends dart.core::Object {
synthetic constructor •() → main::Foo
: super dart.core::Object::•()
;
abstract class Foo extends dart.core::Object /*isMixinDeclaration*/ {
method method() → dynamic {
dart.core::print("B");
}

View file

@ -15,7 +15,7 @@ worlds:
part 'part.dart';
part.dart: |
part of 'main.dart';
class Foo {
mixin Foo {
method() {
print("A");
}
@ -37,7 +37,7 @@ worlds:
sources:
part.dart: |
part of 'main.dart';
class Foo {
mixin Foo {
method() {
print("B");
}

View file

@ -25,10 +25,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///lib.dart";
part part.dart;
class Foo extends dart.core::Object { // from org-dartlang-test:///part.dart
synthetic constructor •() → main::Foo
: super dart.core::Object::•()
;
abstract class Foo extends dart.core::Object /*isMixinDeclaration*/ { // from org-dartlang-test:///part.dart
method method() → dynamic {
dart.core::print("A");
}

View file

@ -25,10 +25,7 @@ library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///lib.dart";
part part.dart;
class Foo extends dart.core::Object { // from org-dartlang-test:///part.dart
synthetic constructor •() → main::Foo
: super dart.core::Object::•()
;
abstract class Foo extends dart.core::Object /*isMixinDeclaration*/ { // from org-dartlang-test:///part.dart
method method() → dynamic {
dart.core::print("B");
}