blob: 0076cae8a3fd4aa822ef18250ad68e6c30df1e28 [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 Let C be a class, let A be a superclass of C, and let S1...Sk
* be superclasses of C that are also subclasses of A. C inherits all
* accessible instance members of A that have not been overridden by a
* declaration in C or in at least one of S1...Sk.
* A class may override instance members that would otherwise have been
* inherited from its superclass.
* @description Checks that static members are not inherited. Test type aliases
Some of type aliases tests fixed * @author sgrekhov@unipro.ru
*/
// SharedOptions=--enable-experiment=nonfunction-type-aliases
class S {
static var v;
static int i = 0;
static method() {}
static int iMethod() { return 1; }
}
typedef SAlias = S;
class C extends SAlias {
}
main() {
var c = new C();
c.v;
// ^
// [analyzer] unspecified
// [cfe] unspecified
c.i;
// ^
// [analyzer] unspecified
// [cfe] unspecified
c.method();
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
c.iMethod();
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}