首页 > 解决方案 > Eclipse JDT 从注释 IMemberValuePair 中解析未知类型

问题描述

我需要从注释中检索值,例如使用字符串常量的注释:

@Component(property = Constants.SERVICE_RANKING + ":Integer=10")
public class NyServiceImpl implements MyService {

但是我得到了一种 K_UNKNOWN 并且文档说“该值是一个表达式,需要进一步分析以确定它的种类”。那么我的问题是如何执行此分析?在这种情况下,我什至可以接受获取纯源文本值。

标签: eclipse-jdt

解决方案


另一个答案看起来基本没问题,但让我建议一种避免使用内部类org.eclipse.jdt.internal.core.Annotation及其方法的方法findNode()

ISourceRange range = annotation.getSourceRange();
ASTNode annNode = org.eclipse.jdt.core.dom.NodeFinder.perform(cu, range);

从这里开始,您应该是安全的,始终使用 DOM API。


推荐阅读