| Index: pkg/dev_compiler/test/codegen/language/initializing_formal_promotion_test.dart
|
| diff --git a/pkg/dev_compiler/test/codegen/language/initializing_formal_promotion_test.dart b/pkg/dev_compiler/test/codegen/language/initializing_formal_promotion_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..89ec79ecc833e02d352a45e724837e25e53b11d3
|
| --- /dev/null
|
| +++ b/pkg/dev_compiler/test/codegen/language/initializing_formal_promotion_test.dart
|
| @@ -0,0 +1,27 @@
|
| +// Copyright (c) 2016, 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.
|
| +//
|
| +// DartOptions=--initializing-formal-access
|
| +// VMOptions=--initializing-formal-access
|
| +
|
| +import "package:expect/expect.dart";
|
| +
|
| +class B {}
|
| +
|
| +class A {
|
| + B x, y;
|
| + // Promotion occurs for the initializing formal because C <: B.
|
| + A(this.x) : y = (x is C) ? x.x : x;
|
| +}
|
| +
|
| +class C extends A implements B {
|
| + C(B x) : super(x);
|
| +}
|
| +
|
| +main() {
|
| + C c = new C(null);
|
| + C cc = new C(c);
|
| + Expect.equals(c.y, null);
|
| + Expect.equals(cc.y, null);
|
| +}
|
|
|