blob: a5020525812bd996ec8c88f32ec708d937afb6ad [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class W extends core::Object {
field core::String native;
constructor •() void
: self::W::native = "field", super core::Object::•()
;
}
class X extends core::Object {
synthetic constructor •() void
: super core::Object::•()
;
method native() core::String
return "method";
}
abstract class Y1 extends core::Object {
synthetic constructor •() void
: super core::Object::•()
;
abstract get native() core::String;
}
class Y2 extends self::Y1 {
synthetic constructor •() void
: super self::Y1::•()
;
@core::override
get native() core::String
return "getter";
}
class Z extends core::Object {
field core::String f = null;
synthetic constructor •() void
: super core::Object::•()
;
set native(core::String s) void
return this.{self::Z::f} = s;
}
static method main() dynamic {
core::print(new self::W::•().{self::W::native});
core::print(new self::X::•().{self::X::native}());
core::print(new self::Y2::•().{self::Y2::native});
core::print((let final self::Z #t1 = new self::Z::•() in let final core::String #t2 = #t1.{self::Z::native} = "setter" in #t1).{self::Z::f});
}