- 83319: search: method references in static imports
- 83393: varargs in javadoc references
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java
index 1ba1e0d..8278a0a 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg03_out.java
@@ -2,9 +2,9 @@
class A {
/**
- * @see #use(String)
+ * @see #use(Object[])
* @see #use(Object[])
* @see #use(Object...)
*/
- public void use(String... args) { }
+ public void use(Object... args) { }
}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java
index 723a595..ec693d4 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg08_out.java
@@ -2,7 +2,7 @@
class A {
/**
- * This is {@link #m(String[])}.
+ * This is {@link #m(String...)}.
* @param args TODO
*/
public void m(String... args) {
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java
index 96c584e..f609386 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg09_out.java
@@ -2,7 +2,7 @@
class A {
/**
- * This is {@link #m(String[])}.
+ * This is {@link #m(String...)}.
* @param args TODO
*/
public void m(String... args) {
diff --git a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java
index aaea895..1fdabbe 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/resources/ChangeSignature/canModify/A_testVararg10_out.java
@@ -2,7 +2,7 @@
class A {
/**
- * This is {@link #m(String[])}.
+ * This is {@link #m(String...)}.
* @param args TODO
*/
public void m(String... args) {
diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ChangeSignatureTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ChangeSignatureTests.java
index fbfff91..dc6dbad 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ChangeSignatureTests.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ChangeSignatureTests.java
@@ -44,8 +44,6 @@
private static final boolean BUG_79976_CORE_GENERIC_RippleMethodFinder= true;
private static final boolean BUG_83691_CORE_JAVADOC_REF= true;
- private static final boolean BUG_83319_CORE_REFS_IN_STATIC_IMPORT= true;
- private static final boolean BUG_83393_CORE_VARARG_JAVADOC_REFERENCE= true;
private static final boolean RUN_CONSTRUCTOR_TEST= true;
@@ -1734,10 +1732,6 @@
}
public void testStaticImport01() throws Exception {
- if (BUG_83319_CORE_REFS_IN_STATIC_IMPORT) {
- printTestDisabledMessage("BUG_83319_CORE_REFS_IN_STATIC_IMPORT");
- return;
- }
helperRenameMethod(new String[0], "abc");
}
@@ -1786,10 +1780,6 @@
}
public void testVararg03() throws Exception {
- if (BUG_83393_CORE_VARARG_JAVADOC_REFERENCE) {
- printTestDisabledMessage("BUG_83393_CORE_VARARG_JAVADOC_REFERENCE");
- return;
- }
String[] signature= {"[QString;"};
String[] newNames= {};
String[] newTypes= {};
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java
index 694547f..d9fbb4c 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java
@@ -2015,6 +2015,7 @@
newP.setName(getASTRewrite().getAST().newSimpleName(info.getNewName()));
newP.setType(createNewDocRefType(info));
+ newP.setVarargs(info.isNewVarargs());
return newP;
}
@@ -2023,10 +2024,7 @@
ITypeBinding newTypeBinding= info.getNewTypeBinding();
if (newTypeBinding != null)
newTypeBinding= newTypeBinding.getErasure(); //see bug 83127: Javadoc references are raw (erasures)
- Type typeNode= createNewTypeNode(newTypeName, newTypeBinding);
- if (info.isNewVarargs())
- typeNode= getASTRewrite().getAST().newArrayType(typeNode); // see bug 83393: Javadoc refs to varargs
- return typeNode;
+ return createNewTypeNode(newTypeName, newTypeBinding);
}
protected SimpleName getMethodNameNode() {
@@ -2061,6 +2059,19 @@
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 of old reference was not vararg
+ newTypeNode= getASTRewrite().getAST().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);
getImportRemover().registerRemovedNode(oldTypeNode);
}