mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 13:08:10 +00:00
[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:
parent
b815ddc2b8
commit
627253ed83
|
@ -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> {}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Class<T> {}
|
||||
mixin Class<T> {}
|
||||
|
||||
class ConcreteClass implements Class<ConcreteClass> {}
|
||||
|
||||
|
|
|
@ -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>,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {}
|
||||
|
||||
|
|
|
@ -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 {}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {}
|
||||
|
||||
|
|
|
@ -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 {}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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() {}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -9,7 +9,7 @@ class A {
|
|||
}
|
||||
}
|
||||
|
||||
abstract class B<X> {
|
||||
mixin B<X> {
|
||||
X foo(X x);
|
||||
}
|
||||
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -2,7 +2,7 @@ class A {
|
|||
num foo(num n) {}
|
||||
}
|
||||
|
||||
abstract class B<X> {
|
||||
mixin B<X> {
|
||||
X foo(X x);
|
||||
}
|
||||
|
||||
|
|
|
@ -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() {}
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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: |
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -11,7 +11,7 @@ worlds:
|
|||
sources:
|
||||
main.dart: |
|
||||
import "lib.dart";
|
||||
class B {}
|
||||
mixin B {}
|
||||
class C = A with B;
|
||||
lib.dart: |
|
||||
class A {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -12,7 +12,7 @@ worlds:
|
|||
void method(covariant int i) {}
|
||||
}
|
||||
|
||||
class Mixin {
|
||||
mixin Mixin {
|
||||
void method(num i) {}
|
||||
}
|
||||
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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*/ {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue