下面列出了怎么用org.eclipse.jdt.core.dom.MethodRefParameter的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
protected void changeParamgumentType(ParameterInfo info) {
if (! (fNode instanceof MethodRef))
return;
MethodRefParameter oldParam= (MethodRefParameter) ((MethodRef) fNode).parameters().get(info.getOldIndex());
Type oldTypeNode= oldParam.getType();
Type newTypeNode= createNewDocRefType(info);
if (info.isNewVarargs()) {
if (info.isOldVarargs() && ! oldParam.isVarargs()) {
// leave as array reference if old reference was not vararg
newTypeNode= ASTNodeFactory.newArrayType(newTypeNode);
} else {
getASTRewrite().set(oldParam, MethodRefParameter.VARARGS_PROPERTY, Boolean.TRUE, fDescription);
}
} else {
if (oldParam.isVarargs()) {
getASTRewrite().set(oldParam, MethodRefParameter.VARARGS_PROPERTY, Boolean.FALSE, fDescription);
}
}
getASTRewrite().replace(oldTypeNode, newTypeNode, fDescription);
registerImportRemoveNode(oldTypeNode);
}
@Override
public boolean visit(final MethodRefParameter node) {
node.getType().accept(this);
boolean _isVarargs = node.isVarargs();
if (_isVarargs) {
this.appendToBuffer("...");
}
SimpleName _name = node.getName();
boolean _tripleNotEquals = (_name != null);
if (_tripleNotEquals) {
this.appendSpaceToBuffer();
node.getName().accept(this);
}
return false;
}
private MethodRefParameter createNewMethodRefParameter(ParameterInfo info) {
MethodRefParameter newP= getASTRewrite().getAST().newMethodRefParameter();
// only add name iff first parameter already has a name:
List<? extends ASTNode> parameters= getParamgumentsRewrite().getOriginalList();
if (parameters.size() > 0)
if (((MethodRefParameter) parameters.get(0)).getName() != null)
newP.setName(getASTRewrite().getAST().newSimpleName(info.getNewName()));
newP.setType(createNewDocRefType(info));
newP.setVarargs(info.isNewVarargs());
return newP;
}
@Override
protected void changeParamgumentName(ParameterInfo info) {
if (! (fNode instanceof MethodRef))
return;
MethodRefParameter oldParam= (MethodRefParameter) ((MethodRef) fNode).parameters().get(info.getOldIndex());
SimpleName oldParamName= oldParam.getName();
if (oldParamName != null)
getASTRewrite().set(oldParamName, SimpleName.IDENTIFIER_PROPERTY, info.getNewName(), fDescription);
}
@Override
public boolean visit(MethodRef node) {
Name qualifier= node.getQualifier();
if (qualifier != null) {
typeRefFound(qualifier);
}
List<MethodRefParameter> list= node.parameters();
if (list != null) {
doVisitChildren(list); // visit MethodRefParameter with Type
}
return false;
}
@Override
protected MethodRefParameter createNewParamgument(ParameterInfo info, List<ParameterInfo> parameterInfos, List<MethodRefParameter> nodes) {
return createNewMethodRefParameter(info);
}
@Override
public boolean visit(MethodRefParameter node) {
if (node.subtreeMatch(fMatcher, fNodeToMatch))
return matches(node);
return super.visit(node);
}
@Override
public void endVisit(MethodRefParameter node) {
endVisitNode(node);
}
@Override
public boolean visit(MethodRefParameter node) {
return visitNode(node);
}