我需要解析单个java函数的代码,用正则表达式(在变量,字符串赋值,注释等的名称中)收集特定字符串的所有出现,这听起来像一个简单的文本解析器的任务。
但是当我需要在特定方法开始的方法调用的闭包内收集所有出现时,问题就出现了。
如何实现一个遍历特定方法的方法调用闭包并收集特定字符串的所有出现的解析器?
所以,如果我有一个代码:
public void A() {
String abc = "$[LABEL_123]"
B();
}
public void B() {
String def = "$[LABEL_456]"
// $[LABEL_000]
C();
}
public void C() {
String ghi = "$[LABEL_789]"
}
对于函数A,我应该有一个数组:
["$[LABEL_123]", $[LABEL_000], "$[LABEL_456]", "$[LABEL_789]"]