gpt4 book ai didi

java - 如何使用 JDT AST 获取注释的类型?

转载 作者:行者123 更新时间:2023-11-29 04:39:24 25 4
gpt4 key购买 nike

我有一个 IAnnotation 实例,如果 IAnnotation#getElementName() 返回简单名称,我如何获得注释的完全限定类型名称?

    IAnnotation ruleAnnotation = field.getAnnotation("Rule");
String fullQualifiedName = ???
if (fullQualifiedName.equals("org.junit.Rule")){
...
}

我找到了这个答案,但这是一个不同的用例: How to determine if a class has an annotation using JDT, considering the type hierarchy

最佳答案

假设您谈论 org.eclipse.jdt.core.IFieldorg.eclipse.jdt.core.IAnnotation(“Java 模型”的一部分 - 不是AST),你应该做 st.按照这些思路:

IAnnotation ruleAnnotation = field.getAnnotation("Rule");
IType declaringType = field.getDeclaringType();
String elementName = ruleAnnotation.getElementName();
String[][] fullyQualifiedName = declaringType.resolveType(elementName);

请引用 IType.resolveType(String) 的 javadoc 以从 2-dim 数组中提取限定名称。

关于java - 如何使用 JDT AST 获取注释的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com