blob: 473e12935ef95f49cdc5e630271c4d862a9fad32 [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*/
library test;
abstract class I<E> {
String m(/*@topType=dynamic*/ a, String f(v, E e));
}
abstract class A<E> implements I<E> {
const A();
String m(/*@topType=dynamic*/ a, String f(v, E e));
}
abstract class M {
final int y = 0;
}
class B<E> extends A<E> implements M {
const B();
int get y => 0;
/*@topType=String*/ m(/*@topType=dynamic*/ a, f(v, E e)) {}
}
foo() {
int y = /*error:INVALID_ASSIGNMENT*/ new /*@typeArgs=dynamic*/ B()
. /*@target=B::m*/ m(null, null);
String z = new /*@typeArgs=dynamic*/ B(). /*@target=B::m*/ m(null, null);
}
main() {}