Нахождение всего, что влияет на переменную

Я пытаюсь создать программу, которая будет читать в файле класса, и если вы дадите ей переменную, например, вы дадите ей "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). Поэтому я сначала подумал бы о том, где переменная может появиться, а затем охватил бы все случаи индивидуально. Надеюсь, это поможет

Другие вопросы по тегам