| Index: pkg/analysis_server/test/services/completion/prefixed_element_contributor_test.dart
|
| diff --git a/pkg/analysis_server/test/services/completion/prefixed_element_contributor_test.dart b/pkg/analysis_server/test/services/completion/prefixed_element_contributor_test.dart
|
| deleted file mode 100644
|
| index d85c23da2c2fd3d90b307a10da9d9a4ceb5aebe7..0000000000000000000000000000000000000000
|
| --- a/pkg/analysis_server/test/services/completion/prefixed_element_contributor_test.dart
|
| +++ /dev/null
|
| @@ -1,673 +0,0 @@
|
| -// Copyright (c) 2014, 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.
|
| -
|
| -library test.services.completion.invocation;
|
| -
|
| -import 'dart:async';
|
| -
|
| -import 'package:analysis_server/plugin/protocol/protocol.dart';
|
| -import 'package:analysis_server/src/services/completion/dart_completion_manager.dart';
|
| -import 'package:analysis_server/src/services/completion/prefixed_element_contributor.dart';
|
| -import 'package:test_reflective_loader/test_reflective_loader.dart';
|
| -import 'package:unittest/unittest.dart';
|
| -
|
| -import '../../utils.dart';
|
| -import 'completion_test_util.dart';
|
| -
|
| -main() {
|
| - initializeTestEnvironment();
|
| - defineReflectiveTests(PrefixedElementContributorTest);
|
| -}
|
| -
|
| -@reflectiveTest
|
| -class PrefixedElementContributorTest extends AbstractSelectorSuggestionTest {
|
| - @override
|
| - CompletionSuggestion assertSuggestInvocationField(String name, String type,
|
| - {int relevance: DART_RELEVANCE_DEFAULT, bool isDeprecated: false}) {
|
| - return assertSuggestField(name, type,
|
| - relevance: relevance, isDeprecated: isDeprecated);
|
| - }
|
| -
|
| - /**
|
| - * Check whether a declaration of the form [shadower] in a derived class
|
| - * shadows a declaration of the form [shadowee] in a base class, for the
|
| - * purposes of what is shown during completion. [shouldBeShadowed] indicates
|
| - * whether shadowing is expected.
|
| - */
|
| - Future check_shadowing(
|
| - String shadower, String shadowee, bool shouldBeShadowed) {
|
| - addTestSource('''
|
| -class Base {
|
| - $shadowee
|
| -}
|
| -class Derived extends Base {
|
| - $shadower
|
| -}
|
| -void f(Derived d) {
|
| - d.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - List<CompletionSuggestion> suggestionsForX = request.suggestions
|
| - .where((CompletionSuggestion s) => s.completion == 'x')
|
| - .toList();
|
| - if (shouldBeShadowed) {
|
| - expect(suggestionsForX, hasLength(1));
|
| - expect(suggestionsForX[0].declaringType, 'Derived');
|
| - } else {
|
| - expect(suggestionsForX, hasLength(2));
|
| - }
|
| - });
|
| - }
|
| -
|
| - fail_test_PrefixedIdentifier_trailingStmt_const_untyped() {
|
| - // SimpleIdentifier PrefixedIdentifier ExpressionStatement
|
| - addTestSource('const g = "hello"; f() {g.^ int y = 0;}');
|
| - computeFast();
|
| - return computeFull((bool result) {
|
| - assertSuggestInvocationGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - @override
|
| - void setUpContributor() {
|
| - contributor = new PrefixedElementContributor();
|
| - }
|
| -
|
| - test_enumConst() {
|
| - addTestSource('enum E { one, two } main() {E.^}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertNotSuggested('index');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_enumConst2() {
|
| - addTestSource('enum E { one, two } main() {E.o^}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertNotSuggested('index');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_enumConst3() {
|
| - addTestSource('enum E { one, two } main() {E.^ int g;}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertNotSuggested('index');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_enumConst_index() {
|
| - addTestSource('enum E { one, two } main() {E.one.^}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertSuggestField('index', 'int');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_enumConst_index2() {
|
| - addTestSource('enum E { one, two } main() {E.one.i^}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertSuggestField('index', 'int');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_enumConst_index3() {
|
| - addTestSource('enum E { one, two } main() {E.one.^ int g;}');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('E');
|
| - assertNotSuggested('one');
|
| - assertNotSuggested('two');
|
| - assertSuggestField('index', 'int');
|
| - assertNotSuggested('values');
|
| - });
|
| - }
|
| -
|
| - test_generic_field() {
|
| - addTestSource('''
|
| -class C<T> {
|
| - T t;
|
| -}
|
| -void f(C<int> c) {
|
| - c.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - assertSuggestField('t', 'int');
|
| - });
|
| - }
|
| -
|
| - test_generic_getter() {
|
| - addTestSource('''
|
| -class C<T> {
|
| - T get t => null;
|
| -}
|
| -void f(C<int> c) {
|
| - c.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('t', 'int');
|
| - });
|
| - }
|
| -
|
| - test_generic_method() {
|
| - addTestSource('''
|
| -class C<T> {
|
| - T m(T t) {}
|
| -}
|
| -void f(C<int> c) {
|
| - c.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'int');
|
| - expect(suggestion.parameterTypes[0], 'int');
|
| - expect(suggestion.element.returnType, 'int');
|
| - expect(suggestion.element.parameters, '(int t)');
|
| - });
|
| - }
|
| -
|
| - test_generic_setter() {
|
| - addTestSource('''
|
| -class C<T> {
|
| - set t(T value) {}
|
| -}
|
| -void f(C<int> c) {
|
| - c.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - // TODO(paulberry): modify assertSuggestSetter so that we can pass 'int'
|
| - // as a parmeter to it, and it will check the appropriate field in
|
| - // the suggestion object.
|
| - CompletionSuggestion suggestion = assertSuggestSetter('t');
|
| - expect(suggestion.element.parameters, '(int value)');
|
| - });
|
| - }
|
| -
|
| - test_keyword() {
|
| - addTestSource('class C { static C get instance => null; } main() {C.in^}');
|
| - return computeFull((bool result) {
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('instance');
|
| - });
|
| - }
|
| -
|
| - test_libraryPrefix() {
|
| - // SimpleIdentifier PrefixedIdentifier ExpressionStatement
|
| - addTestSource('import "dart:async" as bar; foo() {bar.^}');
|
| - return computeFull((bool result) {
|
| - // Suggested by LibraryMemberContributor
|
| - assertNotSuggested('Future');
|
| - assertNotSuggested('loadLibrary');
|
| - });
|
| - }
|
| -
|
| - test_libraryPrefix2() {
|
| - // SimpleIdentifier MethodInvocation ExpressionStatement
|
| - addTestSource('import "dart:async" as bar; foo() {bar.^ print("f")}');
|
| - return computeFull((bool result) {
|
| - // Suggested by LibraryMemberContributor
|
| - assertNotSuggested('Future');
|
| - });
|
| - }
|
| -
|
| - test_libraryPrefix3() {
|
| - // SimpleIdentifier MethodInvocation ExpressionStatement
|
| - addTestSource('import "dart:async" as bar; foo() {new bar.F^ print("f")}');
|
| - return computeFull((bool result) {
|
| - // Suggested by LibraryMemberContributor
|
| - assertNotSuggested('Future');
|
| - assertNotSuggested('Future.delayed');
|
| - });
|
| - }
|
| -
|
| - test_libraryPrefix_deferred() {
|
| - // SimpleIdentifier PrefixedIdentifier ExpressionStatement
|
| - addTestSource('import "dart:async" deferred as bar; foo() {bar.^}');
|
| - return computeFull((bool result) {
|
| - // Suggested by LibraryMemberContributor
|
| - assertNotSuggested('Future');
|
| - assertNotSuggested('loadLibrary');
|
| - });
|
| - }
|
| -
|
| - test_libraryPrefix_with_exports() {
|
| - addSource('/libA.dart', 'library libA; class A { }');
|
| - addSource('/libB.dart', 'library libB; export "/libA.dart"; class B { }');
|
| - addTestSource('import "/libB.dart" as foo; main() {foo.^} class C { }');
|
| - computeFast();
|
| - return computeFull((bool result) {
|
| - // Suggested by LibraryMemberContributor
|
| - assertNotSuggested('B');
|
| - assertNotSuggested('A');
|
| - });
|
| - }
|
| -
|
| - test_local() {
|
| - addTestSource('foo() {String x = "bar"; x.^}');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - test_local_is() {
|
| - addTestSource('foo() {var x; if (x is String) x.^}');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - test_local_propogatedType() {
|
| - addTestSource('foo() {var x = "bar"; x.^}');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_mixed_required_and_named() {
|
| - addTestSource('''
|
| -class C {
|
| - void m(x, {int y}) {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, hasLength(2));
|
| - expect(suggestion.parameterNames[0], 'x');
|
| - expect(suggestion.parameterTypes[0], 'dynamic');
|
| - expect(suggestion.parameterNames[1], 'y');
|
| - expect(suggestion.parameterTypes[1], 'int');
|
| - expect(suggestion.requiredParameterCount, 1);
|
| - expect(suggestion.hasNamedParameters, true);
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_mixed_required_and_positional() {
|
| - addTestSource('''
|
| -class C {
|
| - void m(x, [int y]) {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, hasLength(2));
|
| - expect(suggestion.parameterNames[0], 'x');
|
| - expect(suggestion.parameterTypes[0], 'dynamic');
|
| - expect(suggestion.parameterNames[1], 'y');
|
| - expect(suggestion.parameterTypes[1], 'int');
|
| - expect(suggestion.requiredParameterCount, 1);
|
| - expect(suggestion.hasNamedParameters, false);
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_named() {
|
| - addTestSource('''
|
| -class C {
|
| - void m({x, int y}) {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, hasLength(2));
|
| - expect(suggestion.parameterNames[0], 'x');
|
| - expect(suggestion.parameterTypes[0], 'dynamic');
|
| - expect(suggestion.parameterNames[1], 'y');
|
| - expect(suggestion.parameterTypes[1], 'int');
|
| - expect(suggestion.requiredParameterCount, 0);
|
| - expect(suggestion.hasNamedParameters, true);
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_none() {
|
| - addTestSource('''
|
| -class C {
|
| - void m() {}
|
| -}
|
| -void main() {new C().^}''');
|
| - computeFast();
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, isEmpty);
|
| - expect(suggestion.parameterTypes, isEmpty);
|
| - expect(suggestion.requiredParameterCount, 0);
|
| - expect(suggestion.hasNamedParameters, false);
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_positional() {
|
| - addTestSource('''
|
| -class C {
|
| - void m([x, int y]) {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, hasLength(2));
|
| - expect(suggestion.parameterNames[0], 'x');
|
| - expect(suggestion.parameterTypes[0], 'dynamic');
|
| - expect(suggestion.parameterNames[1], 'y');
|
| - expect(suggestion.parameterTypes[1], 'int');
|
| - expect(suggestion.requiredParameterCount, 0);
|
| - expect(suggestion.hasNamedParameters, false);
|
| - });
|
| - }
|
| -
|
| - test_method_parameters_required() {
|
| - addTestSource('''
|
| -class C {
|
| - void m(x, int y) {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestMethod('m', 'C', 'void');
|
| - expect(suggestion.parameterNames, hasLength(2));
|
| - expect(suggestion.parameterNames[0], 'x');
|
| - expect(suggestion.parameterTypes[0], 'dynamic');
|
| - expect(suggestion.parameterNames[1], 'y');
|
| - expect(suggestion.parameterTypes[1], 'int');
|
| - expect(suggestion.requiredParameterCount, 2);
|
| - expect(suggestion.hasNamedParameters, false);
|
| - });
|
| - }
|
| -
|
| - test_no_parameters_field() {
|
| - addTestSource('''
|
| -class C {
|
| - int x;
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestField('x', 'int');
|
| - assertHasNoParameterInfo(suggestion);
|
| - });
|
| - }
|
| -
|
| - test_no_parameters_getter() {
|
| - addTestSource('''
|
| -class C {
|
| - int get x => null;
|
| -}
|
| -void main() {int y = new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestGetter('x', 'int');
|
| - assertHasNoParameterInfo(suggestion);
|
| - });
|
| - }
|
| -
|
| - test_no_parameters_setter() {
|
| - addTestSource('''
|
| -class C {
|
| - set x(int value) {};
|
| -}
|
| -void main() {int y = new C().^}''');
|
| - return computeFull((bool result) {
|
| - CompletionSuggestion suggestion = assertSuggestSetter('x');
|
| - assertHasNoParameterInfo(suggestion);
|
| - });
|
| - }
|
| -
|
| - test_only_instance() {
|
| - // SimpleIdentifier PropertyAccess ExpressionStatement
|
| - addTestSource('''
|
| -class C {
|
| - int f1;
|
| - static int f2;
|
| - m1() {}
|
| - static m2() {}
|
| -}
|
| -void main() {new C().^}''');
|
| - return computeFull((bool result) {
|
| - assertSuggestInvocationField('f1', 'int');
|
| - assertNotSuggested('f2');
|
| - assertSuggestMethod('m1', 'C', null);
|
| - assertNotSuggested('m2');
|
| - });
|
| - }
|
| -
|
| - test_only_instance2() {
|
| - // SimpleIdentifier MethodInvocation ExpressionStatement
|
| - addTestSource('''
|
| -class C {
|
| - int f1;
|
| - static int f2;
|
| - m1() {}
|
| - static m2() {}
|
| -}
|
| -void main() {new C().^ print("something");}''');
|
| - return computeFull((bool result) {
|
| - assertSuggestInvocationField('f1', 'int');
|
| - assertNotSuggested('f2');
|
| - assertSuggestMethod('m1', 'C', null);
|
| - assertNotSuggested('m2');
|
| - });
|
| - }
|
| -
|
| - test_only_static() {
|
| - // SimpleIdentifier PrefixedIdentifier ExpressionStatement
|
| - addTestSource('''
|
| -class C {
|
| - int f1;
|
| - static int f2;
|
| - m1() {}
|
| - static m2() {}
|
| -}
|
| -void main() {C.^}''');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('f1');
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('f2');
|
| - assertNotSuggested('m1');
|
| - assertNotSuggested('m2');
|
| - });
|
| - }
|
| -
|
| - test_only_static2() {
|
| - // SimpleIdentifier MethodInvocation ExpressionStatement
|
| - addTestSource('''
|
| -class C {
|
| - int f1;
|
| - static int f2;
|
| - m1() {}
|
| - static m2() {}
|
| -}
|
| -void main() {C.^ print("something");}''');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('f1');
|
| - // Suggested by StaticMemberContributor
|
| - assertNotSuggested('f2');
|
| - assertNotSuggested('m1');
|
| - assertNotSuggested('m2');
|
| - });
|
| - }
|
| -
|
| - test_param() {
|
| - addTestSource('foo(String x) {x.^}');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - test_param_is() {
|
| - addTestSource('foo(x) {if (x is String) x.^}');
|
| - return computeFull((bool result) {
|
| - assertSuggestGetter('length', 'int');
|
| - });
|
| - }
|
| -
|
| - test_shadowing_field_over_field() =>
|
| - check_shadowing('int x;', 'int x;', true);
|
| -
|
| - test_shadowing_field_over_getter() =>
|
| - check_shadowing('int x;', 'int get x => null;', true);
|
| -
|
| - test_shadowing_field_over_method() =>
|
| - check_shadowing('int x;', 'void x() {}', true);
|
| -
|
| - test_shadowing_field_over_setter() =>
|
| - check_shadowing('int x;', 'set x(int value) {}', true);
|
| -
|
| - test_shadowing_getter_over_field() =>
|
| - check_shadowing('int get x => null;', 'int x;', true);
|
| -
|
| - test_shadowing_getter_over_getter() =>
|
| - check_shadowing('int get x => null;', 'int get x => null;', true);
|
| -
|
| - test_shadowing_getter_over_method() =>
|
| - check_shadowing('int get x => null;', 'void x() {}', true);
|
| -
|
| - test_shadowing_getter_over_setter() =>
|
| - check_shadowing('int get x => null;', 'set x(int value) {}', true);
|
| -
|
| - test_shadowing_method_over_field() =>
|
| - check_shadowing('void x() {}', 'int x;', true);
|
| -
|
| - test_shadowing_method_over_getter() =>
|
| - check_shadowing('void x() {}', 'int get x => null;', true);
|
| -
|
| - test_shadowing_method_over_method() =>
|
| - check_shadowing('void x() {}', 'void x() {}', true);
|
| -
|
| - test_shadowing_method_over_setter() =>
|
| - check_shadowing('void x() {}', 'set x(int value) {}', true);
|
| -
|
| - test_shadowing_mixin_order() {
|
| - addTestSource('''
|
| -class Base {
|
| -}
|
| -class Mixin1 {
|
| - void f() {}
|
| -}
|
| -class Mixin2 {
|
| - void f() {}
|
| -}
|
| -class Derived extends Base with Mixin1, Mixin2 {
|
| -}
|
| -void test(Derived d) {
|
| - d.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - // Note: due to dartbug.com/22069, analyzer currently analyzes mixins in
|
| - // reverse order. The correct order is that Derived inherits from
|
| - // "Base with Mixin1, Mixin2", which inherits from "Base with Mixin1",
|
| - // which inherits from "Base". So the definition of f in Mixin2 should
|
| - // shadow the definition in Mixin1.
|
| - assertSuggestMethod('f', 'Mixin2', 'void');
|
| - });
|
| - }
|
| -
|
| - test_shadowing_mixin_over_superclass() {
|
| - addTestSource('''
|
| -class Base {
|
| - void f() {}
|
| -}
|
| -class Mixin {
|
| - void f() {}
|
| -}
|
| -class Derived extends Base with Mixin {
|
| -}
|
| -void test(Derived d) {
|
| - d.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - assertSuggestMethod('f', 'Mixin', 'void');
|
| - });
|
| - }
|
| -
|
| - test_shadowing_setter_over_field() =>
|
| - check_shadowing('set x(int value) {}', 'int x;', true);
|
| -
|
| - test_shadowing_setter_over_getter() =>
|
| - check_shadowing('set x(int value) {}', 'int get x => null;', true);
|
| -
|
| - test_shadowing_setter_over_method() =>
|
| - check_shadowing('set x(int value) {}', 'void x() {}', true);
|
| -
|
| - test_shadowing_setter_over_setter() =>
|
| - check_shadowing('set x(int value) {}', 'set x(int value) {}', true);
|
| -
|
| - test_shadowing_superclass_over_interface() {
|
| - addTestSource('''
|
| -class Base {
|
| - void f() {}
|
| -}
|
| -class Interface {
|
| - void f() {}
|
| -}
|
| -class Derived extends Base implements Interface {
|
| -}
|
| -void test(Derived d) {
|
| - d.^
|
| -}
|
| -''');
|
| - return computeFull((bool result) {
|
| - assertSuggestMethod('f', 'Base', 'void');
|
| - });
|
| - }
|
| -
|
| - test_super() {
|
| - // SimpleIdentifier MethodInvocation ExpressionStatement
|
| - addTestSource('''
|
| -class C3 {
|
| - int fi3;
|
| - static int fs3;
|
| - m() {}
|
| - mi3() {}
|
| - static ms3() {}
|
| -}
|
| -class C2 {
|
| - int fi2;
|
| - static int fs2;
|
| - m() {}
|
| - mi2() {}
|
| - static ms2() {}
|
| -}
|
| -class C1 extends C2 implements C3 {
|
| - int fi1;
|
| - static int fs1;
|
| - m() {super.^}
|
| - mi1() {}
|
| - static ms1() {}
|
| -}''');
|
| - return computeFull((bool result) {
|
| - assertNotSuggested('fi1');
|
| - assertNotSuggested('fs1');
|
| - assertNotSuggested('mi1');
|
| - assertNotSuggested('ms1');
|
| - assertSuggestInvocationField('fi2', 'int');
|
| - assertNotSuggested('fs2');
|
| - assertSuggestInvocationMethod('mi2', 'C2', null);
|
| - assertNotSuggested('ms2');
|
| - assertSuggestInvocationMethod('m', 'C2', null,
|
| - relevance: DART_RELEVANCE_HIGH);
|
| - assertNotSuggested('fi3');
|
| - assertNotSuggested('fs3');
|
| - assertNotSuggested('mi3');
|
| - assertNotSuggested('ms3');
|
| - });
|
| - }
|
| -}
|
|
|