Skip to content

Commit 345a687

Browse files
committed
Merge cleanup
1 parent 545766a commit 345a687

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

src/com/goide/GoFindUsagesProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.intellij.lang.cacheBuilder.DefaultWordsScanner;
2323
import com.intellij.lang.cacheBuilder.WordsScanner;
2424
import com.intellij.lang.findUsages.FindUsagesProvider;
25-
import com.intellij.openapi.util.text.StringUtil;
2625
import com.intellij.psi.ElementDescriptionUtil;
2726
import com.intellij.psi.PsiElement;
2827
import com.intellij.psi.tree.TokenSet;
@@ -43,7 +42,7 @@ public WordsScanner getWordsScanner() {
4342
public boolean canFindUsagesFor(@NotNull PsiElement element) {
4443
if (element instanceof GoImportSpec) {
4544
GoImportSpec importSpec = (GoImportSpec)element;
46-
return !StringUtil.isEmpty(importSpec.getAlias()) && !importSpec.isDot() && !importSpec.isForSideEffects();
45+
return importSpec.getAlias() != null && !importSpec.isDot() && !importSpec.isForSideEffects();
4746
}
4847
return element instanceof GoNamedElement;
4948
}

src/com/goide/refactor/GoRenameImportSpecProcessor.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package com.goide.refactor;
1818

1919
import com.goide.psi.GoImportSpec;
20-
import com.goide.psi.impl.GoPsiImplUtil;
20+
import com.intellij.find.FindManager;
2121
import com.intellij.openapi.editor.Editor;
2222
import com.intellij.psi.PsiElement;
2323
import com.intellij.refactoring.RefactoringBundle;
@@ -30,13 +30,13 @@ public class GoRenameImportSpecProcessor extends RenamePsiElementProcessor {
3030
@Nullable
3131
@Override
3232
public PsiElement substituteElementToRename(PsiElement element, @Nullable Editor editor) {
33-
GoImportSpec importSpec = (GoImportSpec)element;
34-
if (importSpec.isDot()) {
35-
String message = RefactoringBundle.message("error.cannot.be.renamed");
36-
CommonRefactoringUtil.showErrorHint(element.getProject(), editor, message, RefactoringBundle.message("rename.title"), null);
37-
return null;
33+
if (FindManager.getInstance(element.getProject()).canFindUsages(element)) {
34+
return element;
3835
}
39-
return importSpec.getAlias() != null ? element : importSpec.getImportString().resolve();
36+
37+
String message = RefactoringBundle.message("error.cannot.be.renamed");
38+
CommonRefactoringUtil.showErrorHint(element.getProject(), editor, message, RefactoringBundle.message("rename.title"), null);
39+
return null;
4040
}
4141

4242
@Override

tests/com/goide/rename/GoRenameTest.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,11 @@ public void testImportAlias() {
4646
}
4747

4848
public void testDotImportAlias() {
49-
myFixture.configureByText("foo.go", "package foo; import <caret>. \"fmt\"");
50-
try {
51-
myFixture.renameElementAtCaret("bar");
52-
fail("Shouldn't be performed");
53-
}
54-
catch (CommonRefactoringUtil.RefactoringErrorHintException e) {
55-
assertEquals("This element cannot be renamed", e.getMessage());
56-
}
49+
doTestDoNotRename("package foo; import <caret>. \"fmt\"");
5750
}
5851

59-
private void doTestDoNotRename(String text) {
60-
myFixture.configureByText("foo.go", text);
61-
myFixture.renameElementAtCaret("bar");
62-
myFixture.checkResult(text);
52+
public void testBlankImportAlias() {
53+
doTestDoNotRename("package foo; import <caret>_ \"fmt\"");
6354
}
6455

6556
public void testNullAlias() {
@@ -75,4 +66,16 @@ private void doTest(String before, String newName, String after) {
7566
myFixture.renameElementAtCaret(newName);
7667
myFixture.checkResult(after);
7768
}
69+
70+
private void doTestDoNotRename(String text) {
71+
myFixture.configureByText("foo.go", text);
72+
try {
73+
myFixture.renameElementAtCaret("bar");
74+
fail("Shouldn't be performed");
75+
}
76+
catch (CommonRefactoringUtil.RefactoringErrorHintException e) {
77+
assertEquals("This element cannot be renamed", e.getMessage());
78+
}
79+
myFixture.checkResult(text);
80+
}
7881
}

0 commit comments

Comments
 (0)