com.sun.jdi
는 실행중인 VM에 대한 정보를 얻을 수있는 패키지는, 스택 프레임을 보면, 중단 점을 추가 등등인스턴스의 둘러싼 인스턴스를 어떻게 얻습니까? (com.sun.jdi의)
내가 다른 인스턴스의 둘러싸는 인스턴스를 얻을 수있는 방법은? 예를 들어 Garfield.Lasagna라는 내부 클래스의 인스턴스를 4 개 생성하는 코드가 있습니다. 두 개는 Garfield의 다른 인스턴스로 묶여 있습니다.
public class Garfield {
int belly;
public class Lasagna {
Lasagna() {belly++;}
}
public static void main(String[] args) {
Garfield g1 = new Garfield();
Lasagna l11 = g1.new Lasagna();
Lasagna l12 = g1.new Lasagna();
Garfield g2 = new Garfield();
Lasagna l21 = g2.new Lasagna();
Lasagna l22 = g2.new Lasagna();
}
}
내가 com.sun.jdi.ObjectReference 인스턴스를 둘러싸는 인스턴스에서 얻을 수있는 방법을 것이라고 상상하지만,이 경우 될 것 같지 않습니다.
또는 디버그 된 VM에서 반사를 사용하려고 시도합니다. java.lang.Class.getEnclosing{Class,Constructor,Method}()과 비슷하지만 개체/인스턴스에 적용되는 관련 메서드가 표시되지 않습니다.