Как разобрать несколько для циклов и генерировать новые классы - PullRequest
0 голосов
/ 10 января 2019

Мне нужно проанализировать цикл for, содержащий переменные, и внутренний цикл for. Каждый цикл for содержит несколько переменных и циклов for. Каждый цикл for должен храниться в отдельном классе DTO с его переменными-членами и внутренним циклом for как переменные List. В приведенном ниже примере у нас есть основной класс A, содержащий несколько циклов for и внутренний для циклов и переменных-членов. Все они должны быть разделены в отдельных классах DTO с другими ссылками на классы DTO в виде списков. Я попытался проанализировать этот код, используя несколько возможных способов, но не смог пометить внутренние циклы for.

Class A{
 public void a(){
    int a1;
    int a2;
    for(int b=0; b < 10; b++) {
         int b1;
         int b2;
         for(int c=0; c<10; c++){
               int c1;
               int c2;
               for(int d=0; d<10; d++){
                   int d1;
                   int d2;
               }
         }
         int b3;
         int b4;
    }

   for(int e=0; e < 10; e++) {
         int e1;
         int e2;
         int e3;
         int e4;
    }

   int a3;
   int a4;
}

Expected :
//class for main method
Class A_DTO{
  int a1;
  int a2;
  List<B_DTO> b;
  List<E_DTO> e;
  int a3;
  int a4;
}

//class for inner loop
Class B_DTO{
  int b1;
  int b2;
  List<C_DTO> c;
  int b3;
  int b4;
}

//class for inner loop
Class C_DTO{
  int c1;
  int c2;
  List<D_DTO> d;
}

//class for inner loop
Class D_DTO{
  int d1;
  int d2;
}

//class for inner loop
Class E_DTO{
  int e1;
  int e2;
  int e3;
  int e4;
}
...