blob: 4163d6a18adf29d1454e3b582760852334297f27 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class A extends core::Object {
field self::B* b = null;
synthetic constructor •() self::A*
: super core::Object::•()
;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
class B extends core::Object {
synthetic constructor •() self::B*
: super core::Object::•()
;
operator +(core::int* i) self::C*
return null;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
class C extends self::B {
synthetic constructor •() self::C*
: super self::B::•()
;
}
static method main() dynamic {
self::A* a;
let final self::A* #t1 = a in #t1.{self::A::==}(null) ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}.{self::B::+}(1);
self::C* c = (let final self::A* #t2 = a in #t2.{self::A::==}(null) ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1) in #t3) as{TypeError} self::C*;
}