blob: e220725d8d6146162d7ae2682571c2f98df79346 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/mixin_super/main.dart:43:36: Error: The class doesn't have a concrete implementation of the super-invoked member 'method1'.
// class Class2b extends Class2a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:17:11: Context: This is the super-access that doesn't have a concrete target.
// super.method1();
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:43:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'property1'.
// class Class2b extends Class2a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:23:18: Context: This is the super-access that doesn't have a concrete target.
// return super.property1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:43:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'property1'.
// class Class2b extends Class2a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:27:11: Context: This is the super-access that doesn't have a concrete target.
// super.property1 = value;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:43:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'field1'.
// class Class2b extends Class2a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:9:33: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:43:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'field1'.
// class Class2b extends Class2a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:9:18: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:47:36: Error: The class doesn't have a concrete implementation of the super-invoked member 'method1'.
// class Class3b extends Class3a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:17:11: Context: This is the super-access that doesn't have a concrete target.
// super.method1();
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:47:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'property1'.
// class Class3b extends Class3a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:23:18: Context: This is the super-access that doesn't have a concrete target.
// return super.property1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:47:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'property1'.
// class Class3b extends Class3a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:27:11: Context: This is the super-access that doesn't have a concrete target.
// super.property1 = value;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:47:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'field1'.
// class Class3b extends Class3a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:9:33: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:47:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'field1'.
// class Class3b extends Class3a with Mixin1 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main.dart:9:18: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:55:36: Error: The class doesn't have a concrete implementation of the super-invoked member 'method1'.
// class Class5b extends Class5a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:27:11: Context: This is the super-access that doesn't have a concrete target.
// super.method1();
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:55:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'property1'.
// class Class5b extends Class5a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:33:18: Context: This is the super-access that doesn't have a concrete target.
// return super.property1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:55:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'property1'.
// class Class5b extends Class5a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:37:11: Context: This is the super-access that doesn't have a concrete target.
// super.property1 = value;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:55:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'field1'.
// class Class5b extends Class5a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:19:33: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:55:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'field1'.
// class Class5b extends Class5a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:19:18: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:59:36: Error: The class doesn't have a concrete implementation of the super-invoked member 'method1'.
// class Class6b extends Class6a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:27:11: Context: This is the super-access that doesn't have a concrete target.
// super.method1();
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:59:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'property1'.
// class Class6b extends Class6a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:33:18: Context: This is the super-access that doesn't have a concrete target.
// return super.property1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:59:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'property1'.
// class Class6b extends Class6a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:37:11: Context: This is the super-access that doesn't have a concrete target.
// super.property1 = value;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:59:36: Error: The class doesn't have a concrete implementation of the super-accessed member 'field1'.
// class Class6b extends Class6a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:19:33: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
// pkg/front_end/testcases/general/mixin_super/main.dart:59:36: Error: The class doesn't have a concrete implementation of the super-accessed setter 'field1'.
// class Class6b extends Class6a with Mixin2 /* Error */ {}
// ^
// pkg/front_end/testcases/general/mixin_super/main_lib.dart:19:18: Context: This is the super-access that doesn't have a concrete target.
// return super.field1 = super.field1 + 1;
// ^
//
import self as self;
import "dart:core" as core;
import "main_lib.dart" as mai;
import "org-dartlang-testcase:///main_lib.dart";
abstract class _Mixin1&Super1&Super2 extends core::Object implements mai::Super1, mai::Super2 /*isAnonymousMixin*/ {
synthetic constructor •() self::_Mixin1&Super1&Super2
: super core::Object::•()
;
}
abstract class Mixin1 extends self::_Mixin1&Super1&Super2 /*isMixinDeclaration*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int};
late field core::int field2 = (() core::int {
return 88;
})(){() core::int};
method method1() void {
super.{mai::Super1::method1}();
}
method method2() void {}
get property1() core::int {
return super.{mai::Super1::property1};
}
set property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
get property2() core::int {
return 42;
}
set property2(core::int value) void {}
}
abstract class Class1a extends mai::Super1 implements mai::Super2 {
synthetic constructor •() self::Class1a
: super mai::Super1::•()
;
}
abstract class _Class1b&Class1a&Mixin1 extends self::Class1a implements self::Mixin1 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int};
late field core::int field2 = (() core::int {
return 88;
})(){() core::int};
synthetic constructor •() self::_Class1b&Class1a&Mixin1
: super self::Class1a::•()
;
get property1() core::int {
return super.{mai::Super1::property1};
}
get property2() core::int {
return 42;
}
method method1() void {
super.{mai::Super1::method1}();
}
method method2() void {}
set property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set property2(core::int value) void {}
}
class Class1b extends self::_Class1b&Class1a&Mixin1 {
synthetic constructor •() self::Class1b
: super self::_Class1b&Class1a&Mixin1::•()
;
}
abstract class Class2a extends mai::Super2 implements mai::Super1 {
synthetic constructor •() self::Class2a
: super mai::Super2::•()
;
}
abstract class _Class2b&Class2a&Mixin1 extends self::Class2a implements self::Mixin1 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int};
late field core::int field2 = (() core::int {
return 88;
})(){() core::int};
synthetic constructor •() self::_Class2b&Class2a&Mixin1
: super self::Class2a::•()
;
get property1() core::int {
return super.{mai::Super1::property1};
}
get property2() core::int {
return 42;
}
method method1() void {
super.{mai::Super1::method1}();
}
method method2() void {}
set property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set property2(core::int value) void {}
}
class Class2b extends self::_Class2b&Class2a&Mixin1 {
synthetic constructor •() self::Class2b
: super self::_Class2b&Class2a&Mixin1::•()
;
}
abstract class Class3a extends core::Object implements mai::Super1, mai::Super2 {
synthetic constructor •() self::Class3a
: super core::Object::•()
;
}
abstract class _Class3b&Class3a&Mixin1 extends self::Class3a implements self::Mixin1 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int};
late field core::int field2 = (() core::int {
return 88;
})(){() core::int};
synthetic constructor •() self::_Class3b&Class3a&Mixin1
: super self::Class3a::•()
;
get property1() core::int {
return super.{mai::Super1::property1};
}
get property2() core::int {
return 42;
}
method method1() void {
super.{mai::Super1::method1}();
}
method method2() void {}
set property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set property2(core::int value) void {}
}
class Class3b extends self::_Class3b&Class3a&Mixin1 {
synthetic constructor •() self::Class3b
: super self::_Class3b&Class3a&Mixin1::•()
;
}
abstract class Class4a extends mai::Super1 implements mai::Super2 {
synthetic constructor •() self::Class4a
: super mai::Super1::•()
;
}
abstract class _Class4b&Class4a&Mixin2 extends self::Class4a implements mai::Mixin2 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
late field core::int field2 = (() core::int {
return 88;
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
synthetic constructor •() self::_Class4b&Class4a&Mixin2
: super self::Class4a::•()
;
get /* from org-dartlang-testcase:///main_lib.dart */ property1() core::int {
return super.{mai::Super1::property1};
}
get /* from org-dartlang-testcase:///main_lib.dart */ property2() core::int {
return 42;
}
method /* from org-dartlang-testcase:///main_lib.dart */ method1() void {
super.{mai::Super1::method1}();
}
method /* from org-dartlang-testcase:///main_lib.dart */ method2() void {}
set /* from org-dartlang-testcase:///main_lib.dart */ property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set /* from org-dartlang-testcase:///main_lib.dart */ property2(core::int value) void {}
}
class Class4b extends self::_Class4b&Class4a&Mixin2 {
synthetic constructor •() self::Class4b
: super self::_Class4b&Class4a&Mixin2::•()
;
}
abstract class Class5a extends mai::Super2 implements mai::Super1 {
synthetic constructor •() self::Class5a
: super mai::Super2::•()
;
}
abstract class _Class5b&Class5a&Mixin2 extends self::Class5a implements mai::Mixin2 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
late field core::int field2 = (() core::int {
return 88;
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
synthetic constructor •() self::_Class5b&Class5a&Mixin2
: super self::Class5a::•()
;
get /* from org-dartlang-testcase:///main_lib.dart */ property1() core::int {
return super.{mai::Super1::property1};
}
get /* from org-dartlang-testcase:///main_lib.dart */ property2() core::int {
return 42;
}
method /* from org-dartlang-testcase:///main_lib.dart */ method1() void {
super.{mai::Super1::method1}();
}
method /* from org-dartlang-testcase:///main_lib.dart */ method2() void {}
set /* from org-dartlang-testcase:///main_lib.dart */ property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set /* from org-dartlang-testcase:///main_lib.dart */ property2(core::int value) void {}
}
class Class5b extends self::_Class5b&Class5a&Mixin2 {
synthetic constructor •() self::Class5b
: super self::_Class5b&Class5a&Mixin2::•()
;
}
abstract class Class6a extends core::Object implements mai::Super1, mai::Super2 {
synthetic constructor •() self::Class6a
: super core::Object::•()
;
}
abstract class _Class6b&Class6a&Mixin2 extends self::Class6a implements mai::Mixin2 /*isAnonymousMixin,isEliminatedMixin*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
late field core::int field2 = (() core::int {
return 88;
})(){() core::int}/* from org-dartlang-testcase:///main_lib.dart */;
synthetic constructor •() self::_Class6b&Class6a&Mixin2
: super self::Class6a::•()
;
get /* from org-dartlang-testcase:///main_lib.dart */ property1() core::int {
return super.{mai::Super1::property1};
}
get /* from org-dartlang-testcase:///main_lib.dart */ property2() core::int {
return 42;
}
method /* from org-dartlang-testcase:///main_lib.dart */ method1() void {
super.{mai::Super1::method1}();
}
method /* from org-dartlang-testcase:///main_lib.dart */ method2() void {}
set /* from org-dartlang-testcase:///main_lib.dart */ property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
set /* from org-dartlang-testcase:///main_lib.dart */ property2(core::int value) void {}
}
class Class6b extends self::_Class6b&Class6a&Mixin2 {
synthetic constructor •() self::Class6b
: super self::_Class6b&Class6a&Mixin2::•()
;
}
library /*isNonNullableByDefault*/;
import self as mai;
import "dart:core" as core;
class Super1 extends core::Object {
field core::int field1 = 42;
field core::int property1 = 42;
synthetic constructor •() mai::Super1
: super core::Object::•()
;
method method1() void {}
}
class Super2 extends core::Object {
field core::int field2 = 87;
field core::int property2 = 87;
synthetic constructor •() mai::Super2
: super core::Object::•()
;
method method2() void {}
}
abstract class _Mixin2&Super1&Super2 extends core::Object implements mai::Super1, mai::Super2 /*isAnonymousMixin*/ {
synthetic constructor •() mai::_Mixin2&Super1&Super2
: super core::Object::•()
;
}
abstract class Mixin2 extends mai::_Mixin2&Super1&Super2 /*isMixinDeclaration*/ {
late field core::int field1 = (() core::int {
return super.{mai::Super1::field1} = super.{mai::Super1::field1}.{core::num::+}(1){(core::num) core::int};
})(){() core::int};
late field core::int field2 = (() core::int {
return 88;
})(){() core::int};
method method1() void {
super.{mai::Super1::method1}();
}
method method2() void {}
get property1() core::int {
return super.{mai::Super1::property1};
}
set property1(core::int value) void {
super.{mai::Super1::property1} = value;
}
get property2() core::int {
return 42;
}
set property2(core::int value) void {}
}