У меня есть определенный класс, о котором я хочу позаботиться.
public class TargetClass {
public TargetClass() { /* .. */ }
}
В моем большом проекте у меня есть несколько мест, где я создаю новый экземпляр этого класса
public class A {
...
TargetClass obj = new TargetClass() // say line number 100
...
}
public class B {
...
TargetClass obj = new TargetClass() // say line number 200
...
}
Как я могу использовать ASM для вставки поля initLocation
в конструктор, и когда вызывается new TargetClass()
, initLocation запишет номер строки местоположения инициализации, например, package/path/A + L100
, package/path/B + L200