일부 클래스는 내부 클래스가있는 프로젝트를 구문 분석하고 싶습니다 .Eclips JDT를 사용하여 내부 클래스 이름을 다른 정보로 추출 할 수 있습니까?일식을 사용하여 내부 클래스를 추출하십시오.
답변
Compilation
단위의 Java 클래스를 탐색하여 TypeDeclaration
AST 노드를 방문 할 수 있습니다. 아래 코드는 최상위 클래스가 아닌 내부 클래스인지 확인하는 데 사용할 수 있습니다. 익명의 내부 클래스를 얻기 위해
public boolean visit(TypeDeclaration typeDeclarationStatement) {
if (!typeDeclarationStatement.isPackageMemberTypeDeclaration()) {
System.out.println(typeDeclarationStatement.getName());
// Get more details from the type declaration.
}
return true;
}
는 아래 너무 코드를 사용 : 클래스 탐색에
public boolean visit(AnonymousClassDeclaration anonyomousClassDeclaration) {
System.out.println(anonyomousClassDeclaration.toString());
return true;
}
세부 JDT를 사용하여 링크를 아래에서 찾을 수 있습니다
아래 코드를 사용했지만 모든 내부 클래스를 표시하지 않습니다 – rosedoli
코드에 내부 클래스가 표시되지 않거나 일부 특정 내부 클래스에 문제가 있습니까 (익명/메서드 내부 클래스)? –
ASTParser 파서 = ASTParser.newParser (AST.JLS3); parser.setKind (ASTParser.K_COMPILATION_UNIT); parser.setSource (fileName.toString(). toCharArray()); parser.setResolveBindings (true); parser.setCompilerOptions (options); final CompilationUnit cu = (CompilationUnit) parser.createAST (null); cu.accept (새 ASTVisitor() { \t \t \t 공공 부울 방문 (TypeDeclaration typeDeclarationStatement) { 경우 (typeDeclarationStatement.isPackageMemberTypeDeclaration()) { 에서 System.out.println (typeDeclarationStatement.getName())! 사실 } 반환;. 그런 당신을 위해 작동하는 경우 } – rosedoli
IType 인스턴스 (유형)가있는 경우
type.getTypes();
이 유형으로 선언 된 직접 멤버 유형의 배열을 제공합니다.
어떤 메신저 ITYPE 예를 – rosedoli
를 사용하지 않는 확인하지만 만약 그렇게 ICompilationUnit의 인스턴스가 당신을? 모든 최상위 유형 선언을 얻을 수 있습니다. ICompilationUnit.getTypes()를 사용하여이 컴파일 단위의 이온 –
- 1. 내부 생성자를 사용하여 클래스를 deserialize
- 2. 일식을 감지하지 못하다 일식을 감지하지 못했습니다.
- 3. 기존 클래스를 기반으로 한 'if'문을 추출하십시오.
- 4. 일식을 사용하면 특정 클래스를 사용하지 못하게 할 수 있습니까?
- 5. 익명의 내부 클래스를 사용하여 컬렉션 작업
- 6. EasyMock을 사용하여 내부 클래스를 테스트하는 방법
- 7. 내부 클래스를 사용하여 실제 사물의 관계를 반영하십시오.
- 8. 런타임에 내부 생성자를 사용하여 클래스를 인스턴스화합니다.
- 9. 내부 키워드를 사용하여 클래스를 숨기는 방법은 무엇입니까?
- 10. 공개 내부 클래스를 테스트해야합니까?
- 11. 내부 클래스를 외부에서 패치해야합니까?
- 12. 내부 클래스를 참조하는 의도
- 13. 내부 클래스를 다시 초기화해야합니까?
- 14. 스칼라 - 내부 클래스를 가져
- 15. 내부 클래스를 풍부하게합니다.
- 16. I 내부 클래스를 가질
- 17. 내부 클래스를 어디에서 인스턴스화해야합니까?
- 18. php를 사용하여 게시하고 추출하십시오.
- 19. 최소 일식을 시작하는 방법?
- 20. 내 일식을 여는 방법?
- 21. perl 프로젝트가 일식을 실행하지 않습니다.
- 22. 엑셀 파일의 내용을 추출하십시오
- 23. unzip을 사용하여 쉘 명령에서 특정 폴더를 추출하십시오.
- 24. jQuery는 내부 div에 클래스를 설정합니다
- 25. 내부 클래스를 외부로 이동하는 방법
- 26. 내부 클래스를 검색하는 방법은 무엇입니까?
- 27. 내부 클래스를 기반으로 템플릿 만들기
- 28. 내부 클래스를 인스턴스화하는 추상 클래스
- 29. Eclipse의 내부 클래스를 디버깅하는 방법
- 30. 구현의 내부 클래스를 참조하는 인터페이스
어떻게 이것이 javascript와 관련이 있습니까 ?? –
실수로 소리. – rosedoli
도움이된다면 답을 수락하시오 –