javaparser中磁道行号的变化

ljsrvy3e  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(244)

我目前尝试使用javaparser稍微修改现有的源代码。我现在想能够跟踪这些修改引入的行号变化。
例如,假设我们有一个 ModifierVisitor 这会在每个while循环的主体中添加一行(处理的代码可能包含多个循环)。正在处理以下代码

1 public class X {
2     public static void main(String[] args) {
3         int a = 1;
4         while(a < 100) {
5             a *= 2;
6         }
7     }
8 }

会把它变成

1 public class X {
2     public static void main(String[] args) {
3         int a = 1;
4         while(a < 100) {
5             a *= 2;
6             System.out.println("Hello, I am the new line");
7         }
8     }
9 }

问:javaparser中有没有一种简单的方法/内置特性来创建这两个版本之间的行Map?
我想有一个Map从新的行号到旧的(或反之亦然)。对于上面的示例,Map应该如下所示:

New -> Old
  1 ->   1
  2 ->   2
  3 ->   3
  4 ->   4
  5 ->   5
  6 ->  -1 (did not exist in the old version)
  7 ->   6
  8 ->   7
  9 ->   8

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题