Resource variable deletion logic moved to resource list (fix for safe delete and inline)

This commit is contained in:
Roman Shevchenko
2011-03-11 21:12:42 +01:00
parent 27b1cf23ed
commit a8dcf9e9c8
5 changed files with 51 additions and 17 deletions
@@ -15,6 +15,7 @@
*/
package com.intellij.psi.impl.source.tree.java;
import com.intellij.lang.ASTNode;
import com.intellij.psi.*;
import com.intellij.psi.impl.PsiImplUtil;
import com.intellij.psi.impl.source.tree.CompositePsiElement;
@@ -63,6 +64,15 @@ public class PsiResourceListImpl extends CompositePsiElement implements PsiResou
return PsiImplUtil.processDeclarationsInResourceList(this, processor, state, lastParent);
}
@Override
public void deleteChildInternal(@NotNull final ASTNode child) {
if (child.getPsi() instanceof PsiResourceVariable && getResourceVariablesCount() == 1) {
getTreeParent().deleteChildInternal(this);
}
super.deleteChildInternal(child);
}
@Override
public String toString() {
return "PsiResourceList:" + getText();