| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class C extends core::Object { |
| synthetic constructor •() → void |
| : super core::Object::•() |
| ; |
| set onlySetter(dynamic value) → void { |
| core::print("C.onlySetter called with ${value}."); |
| } |
| method testC() → dynamic { |
| try { |
| core::print(this.onlySetter); |
| throw "No error thrown"; |
| } |
| on core::NoSuchMethodError catch(final core::NoSuchMethodError e) { |
| core::print("Expected error: ${e}"); |
| } |
| this.{self::C::onlySetter} = "hest"; |
| } |
| method testD() → dynamic { |
| core::print(this.onlySetter); |
| this.{self::C::onlySetter} = "hest"; |
| } |
| } |
| class D extends self::C { |
| synthetic constructor •() → void |
| : super self::C::•() |
| ; |
| get onlySetter() → core::String |
| return "D.onlySetter called."; |
| set onlySetter(dynamic value) → void { |
| core::print("D.onlySetter called with ${value}."); |
| } |
| } |
| static set onlySetter(dynamic value) → void { |
| core::print("onlySetter called with ${value}."); |
| } |
| static method main() → dynamic { |
| try { |
| core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#onlySetter, 33, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})))); |
| throw "No error thrown"; |
| } |
| on core::NoSuchMethodError catch(final core::NoSuchMethodError e) { |
| core::print("Expected error: ${e}"); |
| } |
| self::onlySetter = "fisk"; |
| new self::C::•().testC(); |
| new self::D::•().testD(); |
| } |