类org.eclipse.jdt.core.dom.MethodRefParameter源码实例Demo

下面列出了怎么用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);
}
 
源代码2 项目: xtext-xtend   文件: JavaASTFlattener.java
@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);
}
 
 类所在包
 类方法
 同包方法