2010-08-11 4 views
1

자바 함수 만 파싱 할 수 있다면 org.eclipse.jdt.core.dom.ASTParser를 사용하고 싶습니다. 나는 다음과 같이 ASTParser.setSource (문자 []의)에 함수의 코드를 통과 : Java 함수 만 구문 분석하는 Eclipse ASTParser?

내가 시도하는 방법이다

ASTParser parser = ASTParser.newParser(AST.JLS3); 
    parser.setKind(ASTParser.K_COMPILATION_UNIT); 
    parser.setSource(unit); //set source 
    CompilationUnit cu = (CompilationUnit) parser.createAST(null /* IProgressMonitor */); // parse 
    List list = node.types(); 
    for(int i = 0; i < list.size(); i++){ 
     ASTNode typeNode = (ASTNode) list.get(i); 
     System.out.println(ASTNode.nodeClassForType(typeNode.getNodeType())); 
    } 

하지만 (크기 유형 목록이 아무것도 포함하지 않는 것을 볼 수 = 0).

좋습니다. 감사합니다. . 파히

답변

1

그냥 작은 오타인데, 줄은 List list = node.types();이어야합니다. List list = cu.types();이어야합니다. 함수 만 전달할 수는 없습니다. 유효한 Java 컴파일 단위 여야하므로 유형 정의가 있어야합니다. 함수를 클래스로 래핑하는지 확인하십시오. 모든 클래스. 그것은 잘 작동합니다.

작동하지 않는 경우 cu.getProblems()을 요청하고 실패한 곳을 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 이것은 도움이되었습니다. – Fahim

+0

도움이 된 것을 기쁘게 생각합니다. 이제 정답으로 표시하십시오 :-) – zvikico

관련 문제