diff options
Diffstat (limited to 'java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCommaSeparatedListImpl.java')
-rw-r--r-- | java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCommaSeparatedListImpl.java | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCommaSeparatedListImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCommaSeparatedListImpl.java deleted file mode 100644 index 475542fdc868..000000000000 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCommaSeparatedListImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2000-2009 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 com.intellij.psi.impl.source.tree.java; - -import com.intellij.lang.ASTNode; -import com.intellij.psi.impl.PsiImplUtil; -import com.intellij.psi.impl.source.Constants; -import com.intellij.psi.impl.source.tree.*; -import com.intellij.psi.tree.IElementType; -import com.intellij.psi.tree.TokenSet; -import com.intellij.util.CharTable; -import org.jetbrains.annotations.NotNull; - -/** - * Adds or removes comma - * - * @author ven - */ -public abstract class PsiCommaSeparatedListImpl extends CompositePsiElement implements Constants { - private final TokenSet myTypesOfElements; - - protected PsiCommaSeparatedListImpl(IElementType type, final TokenSet typeOfElements) { - super(type); - myTypesOfElements = typeOfElements; - } - - @Override - public TreeElement addInternal(TreeElement first, ASTNode last, ASTNode anchor, Boolean before) { - if (myTypesOfElements.contains(first.getElementType()) && myTypesOfElements.contains(last.getElementType())) { - final CharTable treeCharTab = SharedImplUtil.findCharTableByTree(this); - final TreeElement firstAdded = super.addInternal(first, last, anchor, before); - for (ASTNode child = ((ASTNode)first).getTreeNext(); child != null; child = child.getTreeNext()) { - if (child.getElementType() == COMMA) break; - if (myTypesOfElements.contains(child.getElementType())) { - TreeElement comma = Factory.createSingleLeafElement(COMMA, ",", 0, 1, treeCharTab, getManager()); - super.addInternal(comma, comma, first, Boolean.FALSE); - break; - } - } - - for (ASTNode child = ((ASTNode)first).getTreePrev(); child != null; child = child.getTreePrev()) { - if (child.getElementType() == COMMA) break; - if (myTypesOfElements.contains(child.getElementType())) { - TreeElement comma = Factory.createSingleLeafElement(COMMA, ",", 0, 1, treeCharTab, getManager()); - super.addInternal(comma, comma, child, Boolean.FALSE); - break; - } - } - return firstAdded; - } - - return super.addInternal(first, last, anchor, before); - } - - @Override - public void deleteChildInternal(@NotNull ASTNode child) { - if (myTypesOfElements.contains(child.getElementType())) { - ASTNode next = PsiImplUtil.skipWhitespaceAndComments(child.getTreeNext()); - if (next != null && next.getElementType() == COMMA) { - deleteChildInternal(next); - } - else { - ASTNode prev = PsiImplUtil.skipWhitespaceAndCommentsBack(child.getTreePrev()); - if (prev != null && prev.getElementType() == COMMA) { - deleteChildInternal(prev); - } - } - } - super.deleteChildInternal(child); - } -} |