use MutableClassDescriptorLite instead of MutableClassDescriptor

where MutableClassDescriptor is not necessary
This commit is contained in:
Stepan Koltsov
2012-02-14 17:34:29 +04:00
parent 2565684563
commit 1d2e02afb4
8 changed files with 23 additions and 22 deletions
@@ -50,7 +50,7 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite {
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull final MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull final MutableClassDescriptorLite classObjectDescriptor) {
ClassObjectStatus r = super.setClassObjectDescriptor(classObjectDescriptor);
if (r != ClassObjectStatus.OK) {
return r;
@@ -122,7 +122,7 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite {
}
@Override
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
super.addClassifierDescriptor(classDescriptor);
scopeForMemberResolution.addClassifierDescriptor(classDescriptor);
}
@@ -36,7 +36,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
private Modality modality;
private Visibility visibility;
private MutableClassDescriptor classObjectDescriptor;
private MutableClassDescriptorLite classObjectDescriptor;
private JetType classObjectType;
private JetType defaultType;
private final ClassKind kind;
@@ -65,7 +65,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
if (!isStatic(this.getContainingDeclaration())) {
return ClassObjectStatus.NOT_ALLOWED;
@@ -226,7 +226,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
@Override
@Nullable
public MutableClassDescriptor getClassObjectDescriptor() {
public MutableClassDescriptorLite getClassObjectDescriptor() {
return classObjectDescriptor;
}
@@ -251,7 +251,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
}
@Override
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
getScopeForMemberLookupAsWritableScope().addClassifierDescriptor(classDescriptor);
innerClassesAndObjects.put(classDescriptor.getName(), classDescriptor);
}
@@ -269,7 +269,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
}
@Override
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
getScopeForMemberLookupAsWritableScope().addObjectDescriptor(objectDescriptor);
innerClassesAndObjects.put(objectDescriptor.getName(), objectDescriptor);
}
@@ -39,12 +39,12 @@ public class NamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl imp
}
@Override
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
memberScope.addClassifierDescriptor(classDescriptor);
}
@Override
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
memberScope.addObjectDescriptor(objectDescriptor);
}
@@ -59,7 +59,7 @@ public class NamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl imp
}
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
throw new IllegalStateException("Must be guaranteed not to happen by the parser");
}
}
@@ -63,9 +63,9 @@ public interface NamespaceLike extends DeclarationDescriptor {
void addNamespace(@NotNull NamespaceDescriptor namespaceDescriptor);
void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor);
void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor);
void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor);
void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor);
void addFunctionDescriptor(@NotNull NamedFunctionDescriptor functionDescriptor);
@@ -77,5 +77,5 @@ public interface NamespaceLike extends DeclarationDescriptor {
NOT_ALLOWED
}
ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor);
ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor);
}
@@ -115,12 +115,12 @@ public class AnalyzingUtils {
}
@Override
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
scope.addClassifierDescriptor(classDescriptor);
}
@Override
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
}
@@ -135,7 +135,7 @@ public class AnalyzingUtils {
}
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
throw new IllegalStateException("Must be guaranteed not to happen by the parser");
}
}, files, filesToAnalyzeCompletely, flowDataTraceFactory, configuration);
@@ -133,7 +133,7 @@ public class DeclarationResolver {
@Override
public void visitEnumEntry(JetEnumEntry enumEntry) {
if (enumEntry.getPrimaryConstructorParameterList() == null) {
MutableClassDescriptor classObjectDescriptor = ((MutableClassDescriptor) namespaceLike).getClassObjectDescriptor();
MutableClassDescriptorLite classObjectDescriptor = ((MutableClassDescriptor) namespaceLike).getClassObjectDescriptor();
assert classObjectDescriptor != null;
PropertyDescriptor propertyDescriptor = context.getDescriptorResolver().resolveObjectDeclarationAsPropertyDescriptor(classObjectDescriptor, enumEntry, context.getClasses().get(enumEntry));
classObjectDescriptor.addPropertyDescriptor(propertyDescriptor);
@@ -10,6 +10,7 @@ import org.jetbrains.jet.lang.JetSemanticServices;
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.MutableClassDescriptor;
import org.jetbrains.jet.lang.descriptors.MutableClassDescriptorLite;
import org.jetbrains.jet.lang.descriptors.NamedFunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
@@ -136,12 +137,12 @@ public class TopDownAnalyzer {
}
@Override
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
}
@Override
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
}
@@ -156,7 +157,7 @@ public class TopDownAnalyzer {
}
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
return ClassObjectStatus.NOT_ALLOWED;
}
}, Collections.<PsiElement>singletonList(object), Predicates.equalTo(object.getContainingFile()), JetControlFlowDataTraceFactory.EMPTY, Configuration.EMPTY, true);
@@ -108,7 +108,7 @@ public class TypeHierarchyResolver {
@Override
public void visitEnumEntry(JetEnumEntry enumEntry) {
MutableClassDescriptor classObjectDescriptor = ((MutableClassDescriptor) owner).getClassObjectDescriptor();
MutableClassDescriptorLite classObjectDescriptor = ((MutableClassDescriptor) owner).getClassObjectDescriptor();
assert classObjectDescriptor != null : enumEntry.getParent().getText();
if (enumEntry.getPrimaryConstructorParameterList() == null) {
createClassDescriptorForObject(enumEntry, classObjectDescriptor, outerScopeForStatic, ClassKind.ENUM_ENTRY);
@@ -126,7 +126,7 @@ public class TypeHierarchyResolver {
private MutableClassDescriptor createClassDescriptorForObject(@NotNull JetClassOrObject declaration, @NotNull NamespaceLike owner, JetScope scope, ClassKind classKind) {
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(context.getTrace(), owner, scope, classKind) {
@Override
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
return ClassObjectStatus.NOT_ALLOWED;
}
};