如何查找与特定枚举类型相关的 name() 的所有用法

How to find all usages of name() related to specific enum type

我需要找到在特定枚举类型上调用的 name() 方法的所有用法。

假设我有枚举:

enum MyEnum {
    A, B, C;
}

我想接收在任何 MyEnum 元素上调用该方法的所有位置。它可以在 A.name()B.name() 等特定元素上调用,但也可以在参数或迭代变量上调用,例如:

String myMethod(MyEnum myEnum) {
    return myEnum.name();
}

到目前为止,我可以通过在 MyEnum 的每个元素和枚举类型本身上按 Alt + F7 来完成然后在结果中查找包含 name() 调用的事件。但这需要大量的手工工作。

我尝试过的另一种方法是按 Alt + F7 将光标悬停在 [=14= 这样的语句中的方法名称上] 但它发现 name() 的所有出现都调用了 any 枚举类型。

那么是否可以更轻松、更快速地做到这一点?

在结构搜索中(编辑 > 查找 > 结构搜索...),搜索:

$e$.name()

然后点击 "Edit Variables..."、select e,并将 "Expression type (regexp)" 设置为您感兴趣的枚举。

(请记住,任何 Enum<?> 类型的引用都可能包含对 MyEnum 的引用,因此您可能还需要考虑寻找这些引用)