couple of fixes needed to have rename work

This commit is contained in:
Dmitry Jemerov
2011-06-16 12:46:16 +02:00
parent 3f2654c123
commit b5f0c2e390
2 changed files with 13 additions and 0 deletions
@@ -31,4 +31,10 @@ public abstract class JetNamedDeclaration extends JetDeclaration implements PsiN
public PsiElement setName(@NonNls @NotNull String name) throws IncorrectOperationException {
return getNameIdentifier().replace(JetChangeUtil.createNameIdentifier(getProject(), name));
}
@Override
public int getTextOffset() {
PsiElement identifier = getNameIdentifier();
return identifier != null ? identifier.getTextRange().getStartOffset() : getTextRange().getStartOffset();
}
}
@@ -11,6 +11,7 @@ import com.intellij.psi.PsiReference;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
import com.intellij.util.Function;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
@@ -106,6 +107,12 @@ public class JetSimpleNameExpression extends JetReferenceExpression {
return EMPTY_ARRAY;
}
@Override
public PsiElement handleElementRename(String newElementName) throws IncorrectOperationException {
PsiElement element = JetChangeUtil.createNameIdentifier(getProject(), newElementName);
return getReferencedNameElement().replace(element);
}
};
}