blob: 7e489f3f2e2aadc2888a5db3c0549e232b9434f7 [file] [log] [blame]
// Unhandled errors:
//
// pkg/front_end/testcases/abstract_members.dart:19:16: Error: Can't inherit members that conflict with each other.
// abstract class A implements Interface1, Interface2, Interface3 {
// ^
//
// pkg/front_end/testcases/abstract_members.dart:33:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
// - A.abstractMethod
// - A.property1=
// - A.property3=
// - Interface1.interfaceMethod1
// - Interface2.interfaceMethod1
// - Interface2.interfaceMethod2
// - Interface3.interfaceMethod3
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class MyClass extends B {
// ^^^^^^^
//
// pkg/front_end/testcases/abstract_members.dart:54:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
// - A.abstractMethod
// - A.property1=
// - A.property2=
// - A.property3=
// - Interface1.interfaceMethod1
// - Interface2.interfaceMethod1
// - Interface2.interfaceMethod2
// - Interface3.interfaceMethod3
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class MyMock3 extends B {
// ^^^^^^^
library;
import self as self;
import "dart:core" as core;
class Interface1 extends core::Object {
synthetic constructor •() self::Interface1
: super core::Object::•()
;
method interfaceMethod1() void {}
}
class Interface2 extends core::Object {
field dynamic interfaceMethod1 = null;
synthetic constructor •() self::Interface2
: super core::Object::•()
;
method interfaceMethod2() void {}
}
class Interface3 extends core::Object {
synthetic constructor •() self::Interface3
: super core::Object::•()
;
method interfaceMethod3() void {}
}
abstract class A extends core::Object implements self::Interface1, self::Interface2, self::Interface3 {
synthetic constructor •() self::A
: super core::Object::•()
;
method aMethod() dynamic {}
abstract method abstractMethod() dynamic;
abstract set property1(dynamic _) void;
abstract set property2(dynamic _) void;
abstract set property3(dynamic _) void;
}
abstract class B extends self::A {
final field dynamic property1 = null;
synthetic constructor •() self::B
: super self::A::•()
;
method aMethod() dynamic {}
method bMethod() dynamic {}
}
class MyClass extends self::B {
field dynamic property2 = null;
synthetic constructor •() self::MyClass
: super self::B::•()
;
method aaMethod() dynamic {}
method aMethod() dynamic {}
method bMethod() dynamic {}
method cMethod() dynamic {}
no-such-method-forwarder get interfaceMethod1() dynamic
return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder set property3(dynamic _) void
return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set interfaceMethod1(dynamic value) void
return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property1(dynamic _) void
return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
class MyMock1 extends self::B {
synthetic constructor •() self::MyMock1
: super self::B::•()
;
method noSuchMethod(dynamic _) dynamic
return null;
no-such-method-forwarder method interfaceMethod2() void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder method abstractMethod() dynamic
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#abstractMethod, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder method interfaceMethod1() void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder method interfaceMethod3() void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod3, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property3(dynamic _) void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set interfaceMethod1(dynamic value) void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property1(dynamic _) void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property2(dynamic _) void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
class MyMock2 extends self::MyMock1 {
synthetic constructor •() self::MyMock2
: super self::MyMock1::•()
;
abstract method noSuchMethod(dynamic _) dynamic;
}
class MyMock3 extends self::B {
synthetic constructor •() self::MyMock3
: super self::B::•()
;
abstract method noSuchMethod(dynamic _) dynamic;
no-such-method-forwarder get interfaceMethod1() dynamic
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder set property3(dynamic _) void
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set interfaceMethod1(dynamic value) void
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property1(dynamic _) void
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
no-such-method-forwarder set property2(dynamic _) void
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
static method main() dynamic {}