Files
sdk/pkg/front_end/testcases/inference/circular_method_inference.dart
T
Paul Berry b2c4b0ac0a Implement override-based type inference for instance methods.
Also, fix a rare infinite loop bug in analyzer exposed by one of the
tests.

R=brianwilkerson@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2946273002 .
2017-06-21 13:56:04 -07:00

21 lines
674 B
Dart

// 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*/
library test;
// The following code is illegal because it has a loop in the class hierarchy.
// We need to make sure that the compiler doesn't try to error recover in a way
// that causes type inference for the method `f` to go into an infinite loop.
abstract class A extends B {
/*@topType=dynamic*/ f(/*@topType=dynamic*/ x);
}
abstract class B extends A {
/*@topType=dynamic*/ f(/*@topType=dynamic*/ x);
}
main() {}