Нахождение всего, что влияет на переменную
Я пытаюсь создать программу, которая будет читать в файле класса, и если вы дадите ей переменную, например, вы дадите ей "i" в следующем примере:
public class Example {
public static void main( String[] args) {
int i = 1;
int j = 5;
int k = 2;
i = i + k;
System.out.println(i);
}
}
Тогда моя программа вернется
int i = 1;
int k = 2;
i = i + k;
System.out.println(i);
Так как это переменные, которые влияют на я.
Я не уверен, как это сделать. До сих пор я пытался использовать javaparser, который принимает файл и находит все VariableDeclarationExpr, используя шаблон посетителя. Однако это не распечатает два нижних случая в приведенном выше коде.
Кто-нибудь может дать мне какие-нибудь советы, как их найти?
1 ответ
VariableDeclarationExpr представляет только объявления (как в вашем случае int i = 1;). Но два других утверждения в вашем коде не являются объявлениями. Это присваивания (возможно, AssignmentExpr) и вызов метода (возможно, MethodCallExpr). Поэтому я сначала подумал бы о том, где переменная может появиться, а затем охватил бы все случаи индивидуально. Надеюсь, это поможет