下面列出了org.eclipse.jdt.core.dom.AbstractTypeDeclaration#setName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private TextEdit constructEnclosingTypeEdit(ICompilationUnit icu) throws CoreException {
ASTParser astParser = ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL);
astParser.setSource(icu);
CompilationUnit cu = (CompilationUnit) astParser.createAST(null);
TypeDeclaration enclosingDecl = findEnclosingTypeDeclaration(cu, fTypeContainer.getElementName());
AST ast = cu.getAST();
ASTRewrite rewrite = ASTRewrite.create(ast);
final AbstractTypeDeclaration newDeclaration;
switch (fTypeKind) {
case K_CLASS:
newDeclaration = ast.newTypeDeclaration();
((TypeDeclaration) newDeclaration).setInterface(false);
break;
case K_INTERFACE:
newDeclaration = ast.newTypeDeclaration();
((TypeDeclaration) newDeclaration).setInterface(true);
break;
case K_ENUM:
newDeclaration = ast.newEnumDeclaration();
break;
case K_ANNOTATION:
newDeclaration = ast.newAnnotationTypeDeclaration();
break;
default:
return null;
}
newDeclaration.setJavadoc(null);
newDeclaration.setName(ast.newSimpleName(ASTNodes.getSimpleNameIdentifier(fNode)));
newDeclaration.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
if (isParameterizedType(fTypeKind, fNode)) {
addTypeParameters((TypeDeclaration) newDeclaration);
}
ListRewrite lrw = rewrite.getListRewrite(enclosingDecl, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
lrw.insertLast(newDeclaration, null);
return rewrite.rewriteAST();
}
protected SimpleName rename(ASTNode node, SimpleName newName) {
AbstractTypeDeclaration type = (AbstractTypeDeclaration) node;
SimpleName oldName = type.getName();
type.setName(newName);
return oldName;
}