Version 2.18.0-49.0.dev
Merge commit '1bdec73db6de87b570666d13eceb1a8c08ac142f' into 'dev'
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
index e518f92..e7df797 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
@@ -99,36 +99,42 @@
var opType = request.opType;
if (!isFunctionalArgument) {
for (var accessor in type.accessors) {
- if (visibilityTracker._isVisible(accessor.declaration)) {
- if (accessor.isGetter) {
- if (opType.includeReturnValueSuggestions) {
- memberBuilder.addSuggestionForAccessor(
- accessor: accessor, inheritanceDistance: inheritanceDistance);
- }
- } else {
- if (opType.includeVoidReturnSuggestions) {
- memberBuilder.addSuggestionForAccessor(
- accessor: accessor, inheritanceDistance: inheritanceDistance);
+ if (!accessor.isStatic) {
+ if (visibilityTracker._isVisible(accessor.declaration)) {
+ if (accessor.isGetter) {
+ if (opType.includeReturnValueSuggestions) {
+ memberBuilder.addSuggestionForAccessor(
+ accessor: accessor,
+ inheritanceDistance: inheritanceDistance);
+ }
+ } else {
+ if (opType.includeVoidReturnSuggestions) {
+ memberBuilder.addSuggestionForAccessor(
+ accessor: accessor,
+ inheritanceDistance: inheritanceDistance);
+ }
}
}
}
}
}
for (var method in type.methods) {
- if (visibilityTracker._isVisible(method.declaration)) {
- if (!method.returnType.isVoid) {
- if (opType.includeReturnValueSuggestions) {
- memberBuilder.addSuggestionForMethod(
- method: method,
- inheritanceDistance: inheritanceDistance,
- kind: classMemberSuggestionKind);
- }
- } else {
- if (opType.includeVoidReturnSuggestions) {
- memberBuilder.addSuggestionForMethod(
- method: method,
- inheritanceDistance: inheritanceDistance,
- kind: classMemberSuggestionKind);
+ if (!method.isStatic) {
+ if (visibilityTracker._isVisible(method.declaration)) {
+ if (!method.returnType.isVoid) {
+ if (opType.includeReturnValueSuggestions) {
+ memberBuilder.addSuggestionForMethod(
+ method: method,
+ inheritanceDistance: inheritanceDistance,
+ kind: classMemberSuggestionKind);
+ }
+ } else {
+ if (opType.includeVoidReturnSuggestions) {
+ memberBuilder.addSuggestionForMethod(
+ method: method,
+ inheritanceDistance: inheritanceDistance,
+ kind: classMemberSuggestionKind);
+ }
}
}
}
diff --git a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
index d8a3ff4..3cfdb13 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
@@ -3651,6 +3651,50 @@
assertSuggestMethod('y2', 'A2', 'int');
}
+ Future<void> test_inherited_static_field() async {
+ addTestSource('''
+class A {
+ static int f1 = 1;
+ int f2 = 2;
+}
+class B extends A {
+ static int f3 = 3;
+ int f4 = 4;
+
+ void m() {
+ f^
+ }
+}''');
+ await computeSuggestions();
+
+ assertNotSuggested('f1');
+ assertSuggestField('f2', 'int');
+ assertSuggestField('f3', 'int');
+ assertSuggestField('f4', 'int');
+ }
+
+ Future<void> test_inherited_static_method() async {
+ addTestSource('''
+class A {
+ static void m1() {};
+ void m2() {};
+}
+class B extends A {
+ static void m3() {};
+ void m4() {};
+
+ void test() {
+ m^
+ }
+}''');
+ await computeSuggestions();
+
+ assertNotSuggested('m1');
+ assertSuggestMethod('m2', 'A', 'void');
+ assertSuggestMethod('m3', 'B', 'void');
+ assertSuggestMethod('m4', 'B', 'void');
+ }
+
Future<void> test_InstanceCreationExpression() async {
addTestSource('''
class A {foo(){var f; {var x;}}}
diff --git a/tools/VERSION b/tools/VERSION
index 9680b88..216faab 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 48
+PRERELEASE 49
PRERELEASE_PATCH 0
\ No newline at end of file