| // Copyright (c) 2014, 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. |
| |
| // @dart = 2.9 |
| |
| // Check that metadata on a class 'Super' using subtypes of 'Super' are not |
| // considered as cyclic inheritance or lead to crashes. |
| |
| @Sub1(0) //# 01: ok |
| class Super { |
| final field; |
| @Sub2(1) //# 02: ok |
| const Super(this.field); |
| } |
| |
| class Sub1 extends Super { |
| const Sub1(var field) : super(field); |
| } |
| |
| class Sub2 extends Super { |
| const Sub2(var field) : super(field); |
| } |
| |
| void main() { |
| print(new Super(1)); |
| } |