[英]How can I get the names of annotated method parameters in an Annotation Processor in Java 11
在 Java 8 中,我曾經能夠做到
Symbol.MethodSymbol annotatedMethod = (Symbol.MethodSymbol) annotatedElement;
接着
annotatedMethod.params
我會得到方法參數的類型和方法聲明中的參數名稱。
現在 import com.sun.tools.javac.code.Symbol 在 Java 11 中是內部的,我可以使用以下方法獲取參數的類型:
ExecutableType executableType = (ExecutableType)annotatedElement.asType();
List<? extends TypeMirror> parameters = executableType.getParameterTypes();
但是我怎樣才能得到參數的名字呢?
ExecutableType
是“Mirror API”的一部分,一般是關於類型的。 要檢查元素,請使用“元素 API”。
在您的情況下,參數由javax.lang.model.element.VariableElement
建模,並且可以使用element.getSimpleName()
獲得名稱。
我猜,您的代碼中的annotatedElement
是一個ExecutableElement
。 如果是這樣,參數的元素可以通過annotatedElement.getParameters()
獲得。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.