FieldDeclaration
(유형 : ASTNode)을 IField
(유형 : JavaElement)으로 변환하는 방법은 무엇입니까? MethodDeclaration 노드와 마찬가지로 Node.resolveBinding()과 마찬가지로 FieldDeclaration ASTNode에서 바인딩을 가져올 수 있습니까?FieldDeclaration to IField - FieldDeclaration에서 IBinding 가져 오기
Need : 공개 상수를 갖는 클래스의 FieldDeclaration 노드를 방문하고 프로젝트의 해당 필드에 대한 참조를 검색하려고합니다. 나는 JDT의 SearchEngine을 사용하고있다. 내 questions 중 하나에 주석으로이 요청했지만, 같은 대한 대답을하지 않았다
SearchPattern.createPattern(iField, IJavaSearchConstants.REFERENCES);
다음과 같이이를 위해 내가 검색 패턴을 만들려고합니다. 별도의 질문으로 게시하십시오.
미리 답변 해 주셔서 감사합니다.
답장에 대한 답변은 디팍의 대답입니다.
나는 그것이 아이 필드의 경우와 같은 결과를 반환하는 대신 아이 필드의 검색 패턴을 만들려면이 IJavaElement을 전달하고 경우
List<VariableDeclarationFragment> fragments = node.fragments();
VariableDeclarationFragment fragment = fragments.get(0);
IJavaElement fieldElement = fragment.resolveBinding().getJavaElement();
을 다음과 같이 내가 JavaElement를 검색 할 수 있습니다 당신의 접근 방식을 사용.
귀하의 답변에 대한 질문으로 질문을 업데이트했습니다. 회신 해주십시오. –
디버깅 목적으로 'fieldElement'에 instanceof 확인을 수행하면 올바른 'IField'여야합니다. –
그냥 확인하고 예, 그것은 IField의 인스턴스입니다. 고마워. –