Skip to content

Commit 438e73f

Browse files
authored
Avoid keeping empty arrays inside constant completion candidates (#3680)
1 parent eaf2801 commit 438e73f

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/ruby_indexer/lib/ruby_indexer/index.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,11 +293,13 @@ def constant_completion_candidates(name, nesting)
293293
entries.concat(@entries_tree.search(name))
294294

295295
# Filter only constants since methods may have names that look like constants
296-
entries.each do |definitions|
296+
entries.select! do |definitions|
297297
definitions.select! do |entry|
298298
entry.is_a?(Entry::Constant) || entry.is_a?(Entry::ConstantAlias) ||
299299
entry.is_a?(Entry::Namespace) || entry.is_a?(Entry::UnresolvedConstantAlias)
300300
end
301+
302+
definitions.any?
301303
end
302304

303305
entries.uniq!

lib/ruby_indexer/test/index_test.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1993,6 +1993,9 @@ def Qux
19931993

19941994
candidates = @index.constant_completion_candidates("Q", [])
19951995
refute_includes(candidates.flat_map { |entries| entries.map(&:name) }, "Qux")
1996+
1997+
candidates = @index.constant_completion_candidates("Qux", [])
1998+
assert_equal(0, candidates.length)
19961999
end
19972000

19982001
def test_constant_completion_candidates_for_empty_name

0 commit comments

Comments
 (0)