// @dart = 2.9
class A {
  int x;
  A()
      : this.x = 41,
        this.x = 42 {}
}

class B {
  final int x;
  B()
      : this.x = 41,
        this.x = 42 {}
}

class C {
  final int x = 2;
  C()
      : this.x = 41,
        this.x = 42 {}
}

class D {
  final int x;
  final int y;
  D()
      : this.x = 41,
        this.named(),
        this.y = 42 {}
  D.named()
      : this.x = 41,
        this.y = 42 {}
}

class E {
  final int x;
  final int y;
  E()
      : this.named(),
        this.x = 1,
        this.y = 2 {}
  E.named()
      : this.x = 41,
        this.y = 42 {}
  E.named2()
      : this.x = 1,
        this.named(),
        this.y = 2;
  E.named3()
      : super(),
        this.named(),
        this.x = 1,
        this.y = 2;
  E.named4()
      : this.x = 1,
        this.y = 2,
        this.named();
  E.named5()
      : assert(true),
        this.named();
  E.named6()
      : this.named(),
        assert(true);
}

class F {
  F()
      : this.named(),
        super() {}
  F.named() {}
}

class G {
  G()
      : super(),
        this.named(),
        super() {}
  G.named() {}
}

class H {
  H()
      : this.named(),
        this.named();
  H.named() {}
}

class I {
  I()
      : super(),
        super() {}
}

class J {
  int x;
  J()
      : super(),
        this.x = 42 {}
}

main() {}
