diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml
index 75aaadb6326c..e50aee709822 100644
--- a/plugins/groovy/src/META-INF/plugin.xml
+++ b/plugins/groovy/src/META-INF/plugin.xml
@@ -107,6 +107,7 @@
order="first"/>
+
diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedFieldProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedFieldProcessor.java
new file mode 100644
index 000000000000..77d651727802
--- /dev/null
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameAliasImportedFieldProcessor.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2000-2010 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.plugins.groovy.refactoring.rename;
+
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiReference;
+import com.intellij.refactoring.rename.RenameJavaVariableProcessor;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField;
+
+import java.util.Collection;
+
+/**
+ * @author Maxim.Medvedev
+ */
+public class RenameAliasImportedFieldProcessor extends RenameJavaVariableProcessor{
+ @Override
+ public boolean canProcessElement(PsiElement element) {
+ return super.canProcessElement(element) && !(element instanceof GrField && ((GrField)element).isProperty());
+ }
+
+ @NotNull
+ @Override
+ public Collection findReferences(PsiElement element) {
+ return RenameAliasedUsagesUtil.filterAliasedRefs(super.findReferences(element), element);
+ }
+}
diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java
index 1c140efec253..4f9eb8e8996f 100644
--- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/rename/RenameGroovyPropertyProcessor.java
@@ -226,8 +226,7 @@ public class RenameGroovyPropertyProcessor extends RenameJavaVariableProcessor {
String newName,
Map extends PsiElement, String> allRenames,
List result) {
- super
- .findCollisions(element, newName, allRenames, result); //To change body of overridden methods use File | Settings | File Templates.
+ super.findCollisions(element, newName, allRenames, result);
}
diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy
index d357670b6429..df931960716c 100644
--- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy
+++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy
@@ -295,5 +295,22 @@ foo()
"""
}
+ public void testRenameAliasImportedField() {
+ myFixture.addFileToProject("Foo.groovy", """class Foo {
+public static bar
+}""")
+ myFixture.configureByText("a.groovy", """
+import static Foo.bar as foo
+
+print foo
+foo = 4""")
+
+ myFixture.renameElement myFixture.findClass("Foo").getFields()[0], "newName"
+ myFixture.checkResult """
+import static Foo.newName as foo
+
+print foo
+foo = 4"""
+ }
}