blob: 5e82534690976b2167cc81fed37f4a61d6211d1d [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/**
* @assertion A constructor name always begins with the name of its immediately
* enclosing class, and may optionally be followed by a dot and an identifier
* id. It is a compile-time error if the name of a constructor is not a
* constructor name.
* A constructor declaration may conflict with static member declarations
* (10.11).
* Let C be a class. It is a compile-time error if C declares a
* • constructor named C.n and a static member with basename n.
*
* @description Checks that it is no compile-error if a constructor's id
* coincides with the name of a static getter declared in the base class. Test
* type alias
* @author sgrekhov@unipro.ru
*/
// SharedOptions=--enable-experiment=nonfunction-type-aliases
class A {
static int get foo => 42;
}
typedef AAlias = A;
class C extends AAlias {
C.foo() {}
}
main() {
new C.foo();
}