gpt4 book ai didi

java - 获取 Groovy-Java 项目方法的所有调用者的代码

转载 作者:行者123 更新时间:2023-12-01 19:12:42 25 4
gpt4 key购买 nike

我正在寻找一种方法,从单独的主程序中提取调用 printc(String) 方法的所有方法。

在 IntelliJ IDE 中,我可以通过转到方法 void printc(String txt) 并单击 Ctrl+Alt+H 来获得预期结果,如下所示:

callers of a given method]([Groovy-java project )

但我想在我自己的程序中实现这样的功能(不使用 IDE)

例如:

package com.controller;


import com.mgr.ServiceBean;
import com.ser.B;
**//Java file**
public class A extends ServiceBean {
void a() {
}

void a1() {
super.printc("calle of c");
}

void a2(B boo) {
super.printc("calle of c");
}


}

======

package com.ser

import com.mgr.C
import com.mgr.ServiceBean
**//Groovy file**
public class B extends ServiceBean {
void b1() {
}

void b2() {
super.printc("calle of c")
}
}

=====

package com.mgr
**//Groovy file**
trait C
{
String test() {
return "test"
}

boolean printc(String methodName) {
if(methodName!=null)
return true
false
}
}
=========
package com.mgr
**//Groovy file**
class ServiceBean implements C {

}

============

//Need logic which accepts
class Main{
public static void main(String args[]){
Main m=new Main();
m.FindUsage("C","void printc(String)")
}
Collection FindUsage(String ClassName, String methodname){
// XXX Logic missing
return **“[A.a1(),A.a2(Integer),B.b2()]”**
}
}

注意:我无法使用堆栈跟踪来获取结果,因为 A、B、C 类是完全不同的 src,并且我没有运行它们,main是一个单独的程序。

How can I find all the methods that call a given method in Java? --> 不包括 Groovy 类的调用者

最佳答案

我想你正在寻找一个查找用法功能,看看这个,它可以帮助你 https://www.jetbrains.com/help/idea/find-usages-method-options.html

关于java - 获取 Groovy-Java 项目方法的所有调用者的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59458002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com