blob: cd864ce23c873e4f7a0901410cd30414d04f0424 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class C extends core::Object {
field core::int y = 42;
synthetic constructor •() self::C
: super core::Object::•()
;
method f() self::D?
return new self::D::•();
method h() self::C
return this;
}
class D extends core::Object {
synthetic constructor •() self::D
: super core::Object::•()
;
method g() self::D
return this;
operator [](core::String s) core::String {
return "!${s}!";
}
}
static method test(self::C x) void {
let final self::C #t1 = x in block {
#t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → self::D}.{self::D::[]}("Hi!"){(core::String) → core::String}!;
#t1.{self::C::h}(){() → self::C}!.{self::C::y} = 2;
} =>#t1;
}
static method main() dynamic {
self::test(new self::C::•());
}