Description
Analyzer has stopped report errors (in a strong mode) in many cases. A couple of examples:
class A {
static var f;
}
abstract class B extends A {
f();
}
class C extends B {
f() {}
}
main() {
new C().f();
}
Output:
analyzer 1.20.0-dev.10.0 strong mode:
No issues found
analyzer 1.20.0-dev.10.0 nostrong mode:
[warning] 'f' collides with a static member in the superclass 'A'
[warning] 'f' collides with a static member in the superclass 'A'
analyzer 1.19.1 strong mode:
[error] 'f' collides with a static member in the superclass 'A'
[error] 'f' collides with a static member in the superclass 'A'
Another example
class A {
foo([x = 1]) {}
}
class C extends A {
foo([x = '']);
}
main() {
new C().foo(1);
}
Output:
analyzer 1.20.0-dev.10.0 strong mode:
No issues found
analyzer 1.20.0-dev.10.0 nostrong mode:
[warning] Parameters cannot override default values, this method overrides 'A.foo' where this positional parameter has a different value
analyzer 1.19.1 strong mode:
[error] Parameters cannot override default values, this method overrides 'A.foo' where this positional parameter has a different value