blob: d8b81a7d1ce88307f6b1b0f3d38f40e0db2590f8 [file] [log] [blame]
// Copyright (c) 2017, 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.
/*@testedFeatures=inference,error*/
library test;
// A.x depends on B.x which depends on A.x, so no type is inferred. But types
// can be inferred for A.y and B.y.
class A {
var /*@topType=dynamic*/ /*@error=CantInferTypeDueToCircularity*/ x = /*@returnType=dynamic*/ () =>
new B(). /*@target=B::x*/ x;
var /*@topType=() -> dynamic*/ y = /*@returnType=dynamic*/ () =>
new B(). /*@target=B::x*/ x;
}
class B extends A {
var /*@topType=dynamic*/ /*@error=CantInferTypeDueToCircularity*/ x;
var /*@topType=() -> dynamic*/ y;
}
main() {}