Search for implicit usages of Iterable.iterator() in for-each loop declarations
I have seen that the otherwise fantastic Find Usages in IntelliJ does not find usages of a class that implements Iterable, and is used in a for-each style loop.
e.g
class IterateMe implements Iterable {
public Iterator iterator() {
retur new Iterator(){...}
}
}
and used like this:
...
IterateMe iterMe = ...
for (Object o : iterMe) {
...
}
This for loop is not listed as a usage in my search result.
Anyone got any ideas on this one, or does it quialify as a bug?
Regards,
Olve
请先登录再写评论。
Hello Olve,
For performance reasons, our Find Usages functionality doesn't look for implicit
calls, such as implicit calls to toString() or, in this case, iterator().
You may consider it a bug, but we don't currently have any plans to change
this behavior.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Ok, too bad. I just wondered, if you have no plans then it is not a bug :-)
Imho it should be a feature, if it is very slow, make it a(nother) check-box in the search field.
Is it possible to find these things in the structural search? I am not very familiar with that part of IntelliJ.
Best regards,
Olve