library;
import self as self;
import "dart:core" as core;

class A<X1 extends self::B, X2 extends self::B> extends core::Object {
  synthetic constructor •() → self::A<self::A::X1, self::A::X2>
    : super core::Object::•()
    ;
}
class B extends core::Object {
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
}
static field <Y1 extends self::B = dynamic, Y2 extends self::B = dynamic>() → self::A<Y1, Y2> f1 = <Y1 extends self::B, Y2 extends self::B>() → self::A<Y1, Y2> => new self::A::•<Y1, Y2>();
static field <Z1 extends self::B = dynamic, Z2 extends self::B = dynamic>() → self::A<Z2, Z1> f2 = <Z1 extends self::B, Z2 extends self::B>() → self::A<Z2, Z1> => new self::A::•<Z2, Z1>();
static method test(core::bool b) → dynamic {
  <Y1 extends self::B = dynamic, Y2 extends self::B = dynamic>() → self::A<self::B, self::B> x = b ?{<Y1 extends self::B = dynamic, Y2 extends self::B = dynamic>() → self::A<self::B, self::B>} self::f1 : self::f2;
}
static method main() → dynamic {}
