Java 类javax.lang.model.util.SimpleAnnotationValueVisitor6 实例源码
项目:Mastering-Mesos
文件:CmdLineProcessor.java
@SuppressWarnings("unchecked")
private TypeElement getClassType(AnnotationMirror annotationMirror, String methodName,
TypeElement defaultClassType) {
for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry
: annotationMirror.getElementValues().entrySet()) {
if (entry.getKey().getSimpleName().equals(elementUtils.getName(methodName))) {
TypeElement classType = entry.getValue().accept(
new SimpleAnnotationValueVisitor6<TypeElement, Void>() {
@Override public TypeElement visitType(TypeMirror t, Void unused) {
return (TypeElement) processingEnv.getTypeUtils().asElement(t);
}
}, null);
if (classType != null) {
return classType;
}
}
}
if (defaultClassType == null) {
error("Could not find a class type for %s.%s", annotationMirror, methodName);
}
return defaultClassType;
}