blob: 063d34137e8bad713f0b1c20bae8cb2d5e8c9c4b [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/super_parameters/circular_dependency_inference.dart:17:7: Error: Can't infer the type of 'foo': circularity found during type inference.
// Specify the type explicitly.
// var foo = B2.new; // Error.
// ^^^
//
// pkg/front_end/testcases/super_parameters/circular_dependency_inference.dart:26:7: Error: Can't infer the type of 'foo': circularity found during type inference.
// Specify the type explicitly.
// var foo = C3.new; // Error.
// ^^^
//
import self as self;
import "dart:core" as core;
class A1 extends core::Object {
field self::B1 foo = self::f1();
constructor •(self::B1 foo) self::A1
: self::A1::foo = foo, super core::Object::•()
;
}
class B1 extends self::A1 {
constructor •(self::B1 foo) self::B1
: super self::A1::•(foo)
;
}
class A2 extends core::Object {
field invalid-type foo = #C1;
constructor •(invalid-type foo) self::A2
: self::A2::foo = foo, super core::Object::•()
;
}
class B2 extends self::A2 {
constructor •(invalid-type foo) self::B2
: super self::A2::•(foo)
;
}
class A3 extends core::Object {
field invalid-type foo = #C2;
constructor •() self::A3
: super core::Object::•()
;
constructor initializeFoo(invalid-type foo) self::A3
: self::A3::foo = foo, super core::Object::•()
;
}
class B3 extends self::A3 {
field (invalid-type) self::A3 bar = #C3;
constructor •((invalid-type) self::A3 bar) self::B3
: self::B3::bar = bar, super self::A3::•()
;
}
class C3 extends self::B3 {
constructor •((invalid-type) self::A3 bar) self::C3
: super self::B3::•(bar)
;
}
static method f1() self::B1
return throw 42;
static method main() dynamic {}
constants {
#C1 = constructor-tearoff self::B2::•
#C2 = constructor-tearoff self::C3::•
#C3 = constructor-tearoff self::A3::initializeFoo
}