Eclipse rcp 如何用ICompilationUnit判断抽象类
我正在进行eclipse插件开发,所以我找到了api文档并用谷歌搜索它们,它只包含这样的方法isClass()isInterface()和ICompilationUnit,但我想深入研究抽象类,比如Eclipse rcp 如何用ICompilationUnit判断抽象类,eclipse-rcp,eclipse-jdt,Eclipse Rcp,Eclipse Jdt,我正在进行eclipse插件开发,所以我找到了api文档并用谷歌搜索它们,它只包含这样的方法isClass()isInterface()和ICompilationUnit,但我想深入研究抽象类,比如 public boolean isAbstract(ICompilationUnit icu) { //TODO } 有人能帮我吗?首先,您需要一个org.eclipse.jdt.core.IType的实例,因为一个ICompilationUnit可以包含多种类型ICompilationUn
public boolean isAbstract(ICompilationUnit icu) {
//TODO
}
有人能帮我吗?首先,您需要一个
org.eclipse.jdt.core.IType的实例,因为一个ICompilationUnit
可以包含多种类型ICompilationUnit.getTypes()
将为您提供此单元中所有类型的列表ICompilationUnit.findPrimaryType()
将为您获取此单元的主类型
您的日常工作应该如下所示:
public boolean isAbstract(ICompilationUnit icu) throws JavaModelException {
final IType type = icu.findPrimaryType();
return (type != null)
? Flags.isAbstract(type.getFlags())
: false;
}
其中Flags
是org.eclipse.jdt.core.Flags
谢谢你,max,根据你的说明解决了,但是我也想问你在哪里可以找到代码片段或相关教程,你能提供链接吗?实际上,关于这个主题的好教程不多。我当前的项目涉及JDT,所以我设法发现了一些技巧。在大多数情况下,您应该仔细分析JDT类及其包的sorce代码。至于Flags.isastract()
,Flags
类在ICompilationUnit.getFlags()
javadoc中提到。这个技巧也可以在eclipse论坛上找到。这是一个基本但有用的教程。它还包含一些链接。