Cleanup (base classes need not to know about extenders)

This commit is contained in:
Roman Shevchenko
2010-12-07 00:35:11 +03:00
parent ccfa7207e6
commit 899e3f7884
6 changed files with 12 additions and 17 deletions
@@ -19,6 +19,7 @@ import com.intellij.lang.ASTNode;
import com.intellij.psi.*;
import com.intellij.psi.impl.PsiClassImplUtil;
import com.intellij.psi.impl.PsiSuperMethodImplUtil;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiClassStub;
import com.intellij.psi.impl.source.parsing.Parsing;
import com.intellij.psi.impl.source.tree.ChildRole;
@@ -35,7 +36,7 @@ public class PsiAnonymousClassImpl extends PsiClassImpl implements PsiAnonymousC
private PatchedSoftReference<PsiClassType> myCachedBaseType = null;
public PsiAnonymousClassImpl(final PsiClassStub stub) {
super(stub);
super(stub, JavaStubElementTypes.ANONYMOUS_CLASS);
}
public PsiAnonymousClassImpl(final ASTNode node) {
@@ -31,7 +31,6 @@ import com.intellij.psi.impl.InheritanceImplUtil;
import com.intellij.psi.impl.PsiClassImplUtil;
import com.intellij.psi.impl.PsiImplUtil;
import com.intellij.psi.impl.PsiSuperMethodImplUtil;
import com.intellij.psi.impl.java.stubs.JavaClassElementType;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiClassStub;
import com.intellij.psi.impl.light.LightMethod;
@@ -73,7 +72,7 @@ public class PsiClassImpl extends JavaStubPsiElement<PsiClassStub<?>> implements
@NonNls private static final String VALUE_OF_METHOD = "valueOf";
public PsiClassImpl(final PsiClassStub stub) {
this(stub, typeForClass(stub.isAnonymous(), stub.isEnumConstantInitializer()));
this(stub, JavaStubElementTypes.CLASS);
}
protected PsiClassImpl(final PsiClassStub stub, final IStubElementType type) {
@@ -84,12 +83,6 @@ public class PsiClassImpl extends JavaStubPsiElement<PsiClassStub<?>> implements
super(node);
}
public static JavaClassElementType typeForClass(final boolean anonymous, final boolean enumConst) {
return enumConst
? JavaStubElementTypes.ENUM_CONSTANT_INITIALIZER
: anonymous ? JavaStubElementTypes.ANONYMOUS_CLASS : JavaStubElementTypes.CLASS;
}
public void subtreeChanged() {
dropCaches();
@@ -18,6 +18,7 @@ package com.intellij.psi.impl.source;
import com.intellij.lang.ASTNode;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.psi.*;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiClassStub;
import com.intellij.psi.impl.light.LightClassReference;
import org.jetbrains.annotations.NotNull;
@@ -27,14 +28,13 @@ public class PsiEnumConstantInitializerImpl extends PsiClassImpl implements PsiE
private PsiClassType myCachedBaseType = null;
public PsiEnumConstantInitializerImpl(final PsiClassStub stub) {
super(stub);
super(stub, JavaStubElementTypes.ENUM_CONSTANT_INITIALIZER);
}
public PsiEnumConstantInitializerImpl(final ASTNode node) {
super(node);
}
protected Object clone() {
PsiEnumConstantInitializerImpl clone = (PsiEnumConstantInitializerImpl)super.clone();
clone.myCachedBaseType = null;
@@ -56,7 +56,6 @@ public class PsiEnumConstantInitializerImpl extends PsiClassImpl implements PsiE
return false;
}
@NotNull
public PsiJavaCodeReferenceElement getBaseClassReference() {
PsiClass containingClass = getBaseClass();
@@ -19,9 +19,9 @@ import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiImportStatementBase;
import com.intellij.psi.PsiJavaCodeReferenceElement;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiImportStatementStub;
import com.intellij.psi.impl.source.tree.ChildRole;
import com.intellij.psi.stubs.IStubElementType;
/**
* @author dsl
@@ -29,8 +29,8 @@ import com.intellij.psi.impl.source.tree.ChildRole;
public abstract class PsiImportStatementBaseImpl extends JavaStubPsiElement<PsiImportStatementStub> implements PsiImportStatementBase{
public static final PsiImportStatementBaseImpl[] EMPTY_ARRAY = new PsiImportStatementBaseImpl[0];
protected PsiImportStatementBaseImpl(final PsiImportStatementStub stub) {
super(stub, stub.isStatic() ? JavaStubElementTypes.IMPORT_STATIC_STATEMENT : JavaStubElementTypes.IMPORT_STATEMENT);
protected PsiImportStatementBaseImpl(final PsiImportStatementStub stub, final IStubElementType type) {
super(stub, type);
}
protected PsiImportStatementBaseImpl(final ASTNode node) {
@@ -17,6 +17,7 @@ package com.intellij.psi.impl.source;
import com.intellij.lang.ASTNode;
import com.intellij.psi.*;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiImportStatementStub;
import com.intellij.util.ArrayFactory;
import org.jetbrains.annotations.NotNull;
@@ -30,7 +31,7 @@ public class PsiImportStatementImpl extends PsiImportStatementBaseImpl implement
};
public PsiImportStatementImpl(final PsiImportStatementStub stub) {
super(stub);
super(stub, JavaStubElementTypes.IMPORT_STATEMENT);
}
public PsiImportStatementImpl(final ASTNode node) {
@@ -17,6 +17,7 @@ package com.intellij.psi.impl.source;
import com.intellij.lang.ASTNode;
import com.intellij.psi.*;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.impl.java.stubs.PsiImportStatementStub;
import com.intellij.util.ArrayFactory;
import org.jetbrains.annotations.NotNull;
@@ -31,7 +32,7 @@ public class PsiImportStaticStatementImpl extends PsiImportStatementBaseImpl imp
};
public PsiImportStaticStatementImpl(final PsiImportStatementStub stub) {
super(stub);
super(stub, JavaStubElementTypes.IMPORT_STATIC_STATEMENT);
}
public PsiImportStaticStatementImpl(final ASTNode node) {