下面列出了com.sun.source.tree.MethodTree#getDefaultValue ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private TreeNode convertAnnotationTypeDeclaration(ClassTree node, TreePath parent) {
AnnotationTypeDeclaration newNode = new AnnotationTypeDeclaration();
TreePath path = getTreePath(parent, node);
Element element = getElement(path);
convertBodyDeclaration(node, path, node.getModifiers(), newNode);
for (Tree bodyDecl : node.getMembers()) {
if (bodyDecl.getKind() == Kind.METHOD) {
MethodTree methodTree = (MethodTree) bodyDecl;
TreePath methodPath = getTreePath(path, methodTree);
ExecutableElement methodElement = (ExecutableElement) getElement(methodPath);
Tree defaultValue = methodTree.getDefaultValue();
ModifiersTree modifiers = methodTree.getModifiers();
AnnotationTypeMemberDeclaration newMember =
new AnnotationTypeMemberDeclaration()
.setDefault((Expression) convert(defaultValue, methodPath))
.setExecutableElement(methodElement);
newMember
.setModifiers((int) ((JCModifiers) modifiers).flags)
.setAnnotations(convertAnnotations(modifiers, getTreePath(methodPath, modifiers)))
.setJavadoc((Javadoc) getAssociatedJavaDoc(methodTree, methodPath));
newNode.addBodyDeclaration(newMember);
} else {
newNode.addBodyDeclaration((BodyDeclaration) convert(bodyDecl, path));
}
}
return newNode
.setName(convertSimpleName(element, getTypeMirror(path), getNamePosition(node)))
.setTypeElement((TypeElement) element);
}