| library; |
| import self as self; |
| import "dart:core" as core; |
| import "opt_in_lib1.dart" as opt; |
| import "opt_out_lib.dart" as opt2; |
| import "opt_in_lib2.dart" as opt3; |
| |
| import "org-dartlang-testcase:///opt_in_lib1.dart"; |
| import "org-dartlang-testcase:///opt_in_lib2.dart"; |
| import "org-dartlang-testcase:///opt_out_lib.dart"; |
| |
| class Super extends core::Object { |
| synthetic constructor •() → self::Super* |
| : super core::Object::•() |
| ; |
| get getter() → opt::B* |
| return new opt::B::•(); |
| set setter(opt::A* a) → void {} |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| } |
| abstract class _Class1&Super&Mixin1 = self::Super with opt2::Mixin1 /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Class1&Super&Mixin1* |
| : super self::Super::•() |
| ; |
| } |
| class Class1 extends self::_Class1&Super&Mixin1 { |
| synthetic constructor •() → self::Class1* |
| : super self::_Class1&Super&Mixin1::•() |
| ; |
| } |
| abstract class _Class2&Base&Mixin2 = opt::Base with opt3::Mixin2 /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Class2&Base&Mixin2* |
| : super opt::Base::•() |
| ; |
| abstract member-signature get _privateGetter() → opt::B*; -> opt::Base::_privateGetter |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| abstract member-signature set _privateSetter(opt::A* a) → void; -> opt::Base::_privateSetter |
| } |
| class Class2 extends self::_Class2&Base&Mixin2 { |
| synthetic constructor •() → self::Class2* |
| : super self::_Class2&Base&Mixin2::•() |
| ; |
| } |
| static method main() → dynamic { |
| self::Class1* c = new self::Class1::•(); |
| c.{self::Super::getter}{opt::B*}.{opt::B::property}{core::int*}; |
| c.{self::Super::setter} = new opt::B::•(); |
| opt::testInterface2(new opt3::Mixin2::•()); |
| } |
| |
| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/opt_in_lib1.dart:32:8: Error: A catch clause must have a body, even if it is empty. |
| // Try adding an empty body. |
| // } on NoSuchMethodError (e) { |
| // ^^^^^^^^^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/opt_in_lib1.dart:34:3: Error: Expected ';' after this. |
| // } |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/opt_in_lib1.dart:38:8: Error: A catch clause must have a body, even if it is empty. |
| // Try adding an empty body. |
| // } on NoSuchMethodError (e) { |
| // ^^^^^^^^^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/opt_in_lib1.dart:40:3: Error: Expected ';' after this. |
| // } |
| // ^ |
| // |
| import self as opt; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → opt::A |
| : super core::Object::•() |
| ; |
| } |
| class B extends opt::A { |
| synthetic constructor •() → opt::B |
| : super opt::A::•() |
| ; |
| get property() → core::int |
| return 0; |
| } |
| class C extends opt::A { |
| synthetic constructor •() → opt::C |
| : super opt::A::•() |
| ; |
| } |
| class Base extends core::Object { |
| synthetic constructor •() → opt::Base |
| : super core::Object::•() |
| ; |
| get _privateGetter() → opt::B |
| return new opt::B::•(); |
| set _privateSetter(opt::A a) → void {} |
| } |
| abstract class Interface1 extends core::Object { |
| synthetic constructor •() → opt::Interface1 |
| : super core::Object::•() |
| ; |
| abstract get getter() → opt::A; |
| abstract set setter(opt::C c) → void; |
| } |
| abstract class Interface2 extends core::Object { |
| synthetic constructor •() → opt::Interface2 |
| : super core::Object::•() |
| ; |
| abstract get _privateGetter() → opt::A; |
| abstract set _privateSetter(opt::C c) → void; |
| } |
| static method testInterface2(opt::Interface2 c) → dynamic { |
| try { |
| c.{opt::Interface2::_privateGetter}{opt::A}; |
| throw "Expected NoSuchMethodError"; |
| } |
| on core::NoSuchMethodError catch(no-exception-var) { |
| } |
| (dynamic e) → Null { |
| core::print(e); |
| }; |
| try { |
| c.{opt::Interface2::_privateSetter} = new opt::C::•(); |
| throw "Expected NoSuchMethodError"; |
| } |
| on core::NoSuchMethodError catch(no-exception-var) { |
| } |
| (dynamic e) → Null { |
| core::print(e); |
| }; |
| } |
| |
| library /*isNonNullableByDefault*/; |
| import self as opt3; |
| import "dart:core" as core; |
| import "opt_in_lib1.dart" as opt; |
| |
| import "org-dartlang-testcase:///opt_in_lib1.dart"; |
| |
| class Mixin2 extends core::Object implements opt::Interface2 { |
| synthetic constructor •() → opt3::Mixin2 |
| : super core::Object::•() |
| ; |
| no-such-method-forwarder get /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateGetter() → opt::A |
| return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A; |
| no-such-method-forwarder set /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateSetter(opt::C c) → void |
| return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic}; |
| } |
| |
| library; |
| import self as opt2; |
| import "dart:core" as core; |
| import "opt_in_lib1.dart" as opt; |
| |
| import "org-dartlang-testcase:///opt_in_lib1.dart"; |
| |
| abstract class Mixin1 extends core::Object implements opt::Interface1 { |
| synthetic constructor •() → opt2::Mixin1* |
| : super core::Object::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| abstract member-signature get getter() → opt::A*; -> opt::Interface1::getter |
| abstract member-signature set setter(opt::C* c) → void; -> opt::Interface1::setter |
| } |
| |
| constants { |
| #C1 = #org-dartlang-testcase:///opt_in_lib2.dart::_privateGetter |
| #C2 = <core::Type*>[] |
| #C3 = <dynamic>[] |
| #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3} |
| #C5 = #org-dartlang-testcase:///opt_in_lib2.dart::_privateSetter= |
| } |