From 1744117d844e32e9aaba86d02890d662caad975b Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 1 Mar 2013 16:40:50 +0100 Subject: [PATCH] Cleanup (duplicate class eliminated) --- .../JavaClassReferenceListElementType.java | 8 +- .../impl/java/stubs/SourceStubPsiFactory.java | 4 - .../psi/impl/source/PsiReferenceListImpl.java | 42 +++++----- ...PsiTypeParameterExtendsBoundsListImpl.java | 80 ------------------- 4 files changed, 22 insertions(+), 112 deletions(-) delete mode 100644 java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiTypeParameterExtendsBoundsListImpl.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/JavaClassReferenceListElementType.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/JavaClassReferenceListElementType.java index ac54dad9be11..9b27c364b9c6 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/JavaClassReferenceListElementType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/JavaClassReferenceListElementType.java @@ -26,7 +26,6 @@ import com.intellij.psi.impl.java.stubs.index.JavaStubIndexKeys; import com.intellij.psi.impl.source.PsiReferenceListImpl; import com.intellij.psi.impl.source.tree.JavaElementType; import com.intellij.psi.impl.source.tree.LightTreeUtil; -import com.intellij.psi.impl.source.tree.java.PsiTypeParameterExtendsBoundsListImpl; import com.intellij.psi.stubs.IndexSink; import com.intellij.psi.stubs.StubElement; import com.intellij.psi.stubs.StubInputStream; @@ -55,12 +54,7 @@ public abstract class JavaClassReferenceListElementType extends JavaStubElementT @Override public PsiReferenceList createPsi(@NotNull ASTNode node) { - if (node.getElementType() == JavaStubElementTypes.EXTENDS_BOUND_LIST) { - return new PsiTypeParameterExtendsBoundsListImpl(node); - } - else { - return new PsiReferenceListImpl(node); - } + return new PsiReferenceListImpl(node); } @Override diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/SourceStubPsiFactory.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/SourceStubPsiFactory.java index d64f7afff81e..f3aa46edc64a 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/SourceStubPsiFactory.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/SourceStubPsiFactory.java @@ -47,10 +47,6 @@ public class SourceStubPsiFactory extends StubPsiFactory { @Override public PsiReferenceList createClassReferenceList(PsiClassReferenceListStub stub) { - if (stub.getRole() == PsiReferenceList.Role.EXTENDS_BOUNDS_LIST) { - return new PsiTypeParameterExtendsBoundsListImpl(stub, JavaStubElementTypes.EXTENDS_BOUND_LIST); - } - return new PsiReferenceListImpl(stub, stub.getStubType()); } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiReferenceListImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiReferenceListImpl.java index 2eff5acd41ed..2b8fcbb0a629 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiReferenceListImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiReferenceListImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -22,37 +22,38 @@ import com.intellij.psi.impl.java.stubs.PsiClassReferenceListStub; import com.intellij.psi.impl.source.tree.JavaElementType; import com.intellij.psi.stubs.IStubElementType; import com.intellij.psi.tree.IElementType; -import com.intellij.psi.tree.TokenSet; import org.jetbrains.annotations.NotNull; -public final class PsiReferenceListImpl extends JavaStubPsiElement implements PsiReferenceList { +/** + * @author max + */ +public class PsiReferenceListImpl extends JavaStubPsiElement implements PsiReferenceList { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.PsiReferenceListImpl"); - private static final TokenSet REFERENCE_BIT_SET = TokenSet.create(Constants.JAVA_CODE_REFERENCE); - public PsiReferenceListImpl(final PsiClassReferenceListStub stub, final IStubElementType nodeType) { + public PsiReferenceListImpl(PsiClassReferenceListStub stub, IStubElementType nodeType) { super(stub, nodeType); } - public PsiReferenceListImpl(final ASTNode node) { + public PsiReferenceListImpl(ASTNode node) { super(node); } @Override @NotNull public PsiJavaCodeReferenceElement[] getReferenceElements() { - return calcTreeElement().getChildrenAsPsiElements(REFERENCE_BIT_SET, PsiJavaCodeReferenceElement.ARRAY_FACTORY); + return calcTreeElement().getChildrenAsPsiElements(JavaElementType.JAVA_CODE_REFERENCE, PsiJavaCodeReferenceElement.ARRAY_FACTORY); } @Override @NotNull public PsiClassType[] getReferencedTypes() { - final PsiClassReferenceListStub stub = getStub(); + PsiClassReferenceListStub stub = getStub(); if (stub != null) { return stub.getReferencedTypes(); } - final PsiJavaCodeReferenceElement[] refs = getReferenceElements(); - final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory(); + PsiJavaCodeReferenceElement[] refs = getReferenceElements(); + PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory(); PsiClassType[] types = new PsiClassType[refs.length]; for (int i = 0; i < types.length; i++) { types[i] = factory.createType(refs[i]); @@ -63,24 +64,22 @@ public final class PsiReferenceListImpl extends JavaStubPsiElement implements PsiReferenceList { - public PsiTypeParameterExtendsBoundsListImpl(final PsiClassReferenceListStub stub, final IStubElementType nodeType) { - super(stub, nodeType); - } - - public PsiTypeParameterExtendsBoundsListImpl(final ASTNode node) { - super(node); - } - - @Override - @NotNull - public PsiJavaCodeReferenceElement[] getReferenceElements() { - return calcTreeElement().getChildrenAsPsiElements(Constants.JAVA_CODE_REFERENCE_BIT_SET, PsiJavaCodeReferenceElement.ARRAY_FACTORY); - } - - @Override - @NotNull - public PsiClassType[] getReferencedTypes() { - final PsiClassReferenceListStub stub = getStub(); - if (stub != null) return stub.getReferencedTypes(); - - return createTypes(getReferenceElements()); - } - - @Override - public Role getRole() { - return Role.EXTENDS_BOUNDS_LIST; - } - - private PsiClassType[] createTypes(final PsiJavaCodeReferenceElement[] refs) { - final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory(); - PsiClassType[] types = new PsiClassType[refs.length]; - for (int i = 0; i < refs.length; i++) { - types[i] = factory.createType(refs[i]); - } - return types; - } - - @Override - public void accept(@NotNull PsiElementVisitor visitor) { - if (visitor instanceof JavaElementVisitor) { - ((JavaElementVisitor)visitor).visitReferenceList(this); - } - else { - visitor.visitElement(this); - } - } - - public String toString() { - return "PsiElement(EXTENDS_BOUND_LIST)"; - } -}