| Index: pkg/analysis_server/test/analysis/notification_overrides_test.dart
|
| diff --git a/pkg/analysis_server/test/analysis/notification_overrides_test.dart b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
|
| index 2465be3e71cc5a593ae466aae535f46d79a8ada5..ae7551ec70fb81f9e34d290b2f56938c7edb7c62 100644
|
| --- a/pkg/analysis_server/test/analysis/notification_overrides_test.dart
|
| +++ b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
|
| @@ -71,6 +71,20 @@ class AnalysisNotificationOverridesTest extends AbstractAnalysisTest {
|
| }
|
|
|
| /**
|
| + * Validates that there is no [Override] at the offset of [search].
|
| + *
|
| + * If [length] is not specified explicitly, then length of an identifier
|
| + * from [search] is used.
|
| + */
|
| + void assertNoOverride(String search, [int length = -1]) {
|
| + int offset = findOffset(search);
|
| + if (length == -1) {
|
| + length = findIdentifierLength(search);
|
| + }
|
| + findOverride(offset, length, false);
|
| + }
|
| +
|
| + /**
|
| * Asserts that there are no overridden member from the superclass.
|
| */
|
| void assertNoSuperMember() {
|
| @@ -137,6 +151,110 @@ class B implements A {
|
| assertHasInterfaceMember('m() {} // in A');
|
| }
|
|
|
| + test_BAD_fieldByMethod() async {
|
| + addTestFile('''
|
| +class A {
|
| + int fff; // in A
|
| +}
|
| +class B extends A {
|
| + fff() {} // in B
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff() {} // in B');
|
| + }
|
| +
|
| + test_BAD_getterByMethod() async {
|
| + addTestFile('''
|
| +class A {
|
| + get fff => null;
|
| +}
|
| +class B extends A {
|
| + fff() {}
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff() {}');
|
| + }
|
| +
|
| + test_BAD_getterBySetter() async {
|
| + addTestFile('''
|
| +class A {
|
| + get fff => null;
|
| +}
|
| +class B extends A {
|
| + set fff(x) {}
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff(x) {}');
|
| + }
|
| +
|
| + test_BAD_methodByField() async {
|
| + addTestFile('''
|
| +class A {
|
| + fff() {} // in A
|
| +}
|
| +class B extends A {
|
| + int fff; // in B
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff; // in B');
|
| + }
|
| +
|
| + test_BAD_methodByGetter() async {
|
| + addTestFile('''
|
| +class A {
|
| + fff() {}
|
| +}
|
| +class B extends A {
|
| + int get fff => null;
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff => null');
|
| + }
|
| +
|
| + test_BAD_methodBySetter() async {
|
| + addTestFile('''
|
| +class A {
|
| + fff(x) {} // A
|
| +}
|
| +class B extends A {
|
| + set fff(x) {} // B
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff(x) {} // B');
|
| + }
|
| +
|
| + test_BAD_setterByGetter() async {
|
| + addTestFile('''
|
| +class A {
|
| + set fff(x) {}
|
| +}
|
| +class B extends A {
|
| + get fff => null;
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff => null;');
|
| + }
|
| +
|
| + test_BAD_setterByMethod() async {
|
| + addTestFile('''
|
| +class A {
|
| + set fff(x) {} // A
|
| +}
|
| +class B extends A {
|
| + fff(x) {} // B
|
| +}
|
| +''');
|
| + await prepareOverrides();
|
| + assertNoOverride('fff(x) {} // B');
|
| + }
|
| +
|
| test_definedInInterface_ofInterface() async {
|
| addTestFile('''
|
| class A {
|
| @@ -318,21 +436,6 @@ class B extends A {
|
| assertNoInterfaceMembers();
|
| }
|
|
|
| - test_super_fieldByMethod() async {
|
| - addTestFile('''
|
| -class A {
|
| - int fff; // in A
|
| -}
|
| -class B extends A {
|
| - fff() {} // in B
|
| -}
|
| -''');
|
| - await prepareOverrides();
|
| - assertHasOverride('fff() {} // in B');
|
| - assertHasSuperElement('fff; // in A');
|
| - assertNoInterfaceMembers();
|
| - }
|
| -
|
| test_super_fieldBySetter() async {
|
| addTestFile('''
|
| class A {
|
|
|