2009-08-07 4 views
2

Eclipse에서 Java 코드 용 증분 빌더를 연구 중입니다. Eclipse는 마지막 빌드 이후 변경된 리소스를 알려주는 ResourceDelta를 제공합니다. 그러나 더 자세한 정보를 원합니다. 어떤 메소드 나 필드 정의가 변경 되었습니까? "비교 -> 서로"보기에서 원하는 기능과 비슷한 기능이있는 것으로 보입니다. 그러나이 코드는 빌드 엔진에서 연결이 끊어져 ResourceDeltas와 호환되지 않는 것처럼 보입니다. 내가 원하는 것을 알아내는 좋은 방법은 무엇일까요? 내가 볼 수있는 가장 좋은 해결책은 두 개의 AST를 비교하는 것이지만 기본 제공 지원을 찾을 수 없습니다.Eclipse에서 두 AST의 구조 비교

답변

2

JavaCoreIElementChangedListenerIJavaElementDelta 인터페이스를 통해이 정보를 제공합니다. Manipulating Java code에서

JavaCore.addElementChangedListener(new MyJavaElementChangeReporter(), ElementChangedEvent.POST_RECONCILE);

자세한 내용 사용할 수있는 JDT Plug-in 개발자 가이드에서 : 여기 시작하는 빠른 코드 샘플입니다.

+1

나는 그것이 내가 필요로하는 것처럼 보인다. 고마워요! – user66237

+0

정보를 제공해 주셔서 감사합니다. 나는 @ user66237과 비슷한 상황에 있지만, 나는 미세한 변화를 찾고있다. 즉, IJavaElementDelta.F_CONTENT 플래그가 설정 될 때 정확히 변경 내용을 얻으려고합니다. 예를 들어, 메서드 본문에 새로운 메서드 호출이 있는지 알고 싶습니다. 그렇다면 어떤 메소드가 호출되는지 알고 싶습니다. 이 API로 이것을 달성 할 수있는 방법이 있습니까? –