blob: 4fba92c6bf8f172503316d06619efbf27b8ed5b2 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class W extends core::Object {
field core::String* native;
constructor •() self::W*
: self::W::native = "field", super core::Object::•()
;
}
class X extends core::Object {
synthetic constructor •() self::X*
: super core::Object::•()
;
method native() core::String*
return "method";
}
abstract class Y1 extends core::Object {
synthetic constructor •() self::Y1*
: super core::Object::•()
;
abstract get native() core::String*;
}
class Y2 extends self::Y1 {
synthetic constructor •() self::Y2*
: super self::Y1::•()
;
@#C1
get native() core::String*
return "getter";
}
class Z extends core::Object {
field core::String* f = null;
synthetic constructor •() self::Z*
: 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 dynamic #t2 = #t1.{self::Z::native} = "setter" in #t1).{self::Z::f});
}
constants {
#C1 = core::_Override {}
}