summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java')
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
index 376561535a1e..6fa0ed27d8c8 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java
@@ -38,6 +38,8 @@ import com.intellij.psi.util.PsiUtilCore;
import com.intellij.refactoring.RefactoringActionHandler;
import com.intellij.refactoring.RefactoringBundle;
import com.intellij.refactoring.listeners.RefactoringElementListener;
+import com.intellij.refactoring.listeners.RefactoringEventData;
+import com.intellij.refactoring.listeners.RefactoringEventListener;
import com.intellij.refactoring.rename.*;
import com.intellij.refactoring.rename.naming.AutomaticRenamer;
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory;
@@ -137,6 +139,10 @@ public class VariableInplaceRenamer extends InplaceRefactoring {
protected boolean shouldCreateSnapshot() {
return true;
}
+
+ protected String getRefactoringId() {
+ return "refactoring.rename";
+ }
@Override
protected void beforeTemplateStart() {
@@ -204,11 +210,18 @@ public class VariableInplaceRenamer extends InplaceRefactoring {
protected void performRefactoringRename(final String newName,
final StartMarkAction markAction) {
+ final String refactoringId = getRefactoringId();
try {
+ PsiNamedElement elementToRename = getVariable();
+ if (refactoringId != null) {
+ final RefactoringEventData beforeData = new RefactoringEventData();
+ beforeData.addElement(elementToRename);
+ myProject.getMessageBus()
+ .syncPublisher(RefactoringEventListener.REFACTORING_EVENT_TOPIC).refactoringStarted(refactoringId, beforeData);
+ }
if (!isIdentifier(newName, myLanguage)) {
return;
}
- PsiNamedElement elementToRename = getVariable();
if (elementToRename != null) {
new WriteCommandAction(myProject, getCommandName()) {
@Override
@@ -278,6 +291,14 @@ public class VariableInplaceRenamer extends InplaceRefactoring {
}
}
finally {
+
+ if (refactoringId != null) {
+ final RefactoringEventData afterData = new RefactoringEventData();
+ afterData.addElement(getVariable());
+ myProject.getMessageBus()
+ .syncPublisher(RefactoringEventListener.REFACTORING_EVENT_TOPIC).refactoringDone(refactoringId, afterData);
+ }
+
try {
((EditorImpl)InjectedLanguageUtil.getTopLevelEditor(myEditor)).stopDumbLater();
}