2012-04-06 7 views

답변

2

ICompilationUnit에는 여러 유형이 포함될 수 있으므로 먼저 org.eclipse.jdt.core.IType의 인스턴스가 필요합니다. ICompilationUnit.getTypes()은이 유닛의 모든 유형 목록을 제공합니다. ICompilationUnit.findPrimaryType()이 (가)이 유닛에 기본 유형을 제공합니다.

귀하의 루틴은 다음과 같이 보일 것이다 :

public boolean isAbstract(ICompilationUnit icu) throws JavaModelException { 
    final IType type = icu.findPrimaryType(); 
    return (type != null) 
     ? Flags.isAbstract(type.getFlags()) 
     : false; 
} 

Flagsorg.eclipse.jdt.core.Flags입니다.

+0

귀하의 지시에 따라 최대한 해결해 주셨지만, 코드 스 니펫 또는 관련 자습서를 어디서 찾을 수 있는지 물어보고 싶습니다. 링크를 제공 할 수 있습니까? – clevertension

+0

실제로이 주제에 대한 튜토리얼은 많지 않습니다. 현재 프로젝트에는 JDT가 포함되어 있으므로 일부 트릭을 발견 할 수있었습니다. 대부분의 경우 JDT 클래스와 패키지의 코드를 신중하게 분석해야합니다. 'Flags.isAbstract()'와 마찬가지로'Flags' 클래스는'ICompilationUnit.getFlags()'javadoc에 언급되어 있습니다. 또한이 트릭은 이클립스 포럼의 어딘가에서 찾을 수 있습니다. http://www.vogella.de/articles/EclipseJDT/article.html은 기본이지만 유용한 자습서입니다. 또한 몇 가지 링크가 포함되어 있습니다. –

관련 문제