use MutableClassDescriptorLite instead of MutableClassDescriptor
where MutableClassDescriptor is not necessary
This commit is contained in:
+2
-2
@@ -50,7 +50,7 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClassObjectStatus setClassObjectDescriptor(@NotNull final MutableClassDescriptor classObjectDescriptor) {
|
public ClassObjectStatus setClassObjectDescriptor(@NotNull final MutableClassDescriptorLite classObjectDescriptor) {
|
||||||
ClassObjectStatus r = super.setClassObjectDescriptor(classObjectDescriptor);
|
ClassObjectStatus r = super.setClassObjectDescriptor(classObjectDescriptor);
|
||||||
if (r != ClassObjectStatus.OK) {
|
if (r != ClassObjectStatus.OK) {
|
||||||
return r;
|
return r;
|
||||||
@@ -122,7 +122,7 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
|
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
|
||||||
super.addClassifierDescriptor(classDescriptor);
|
super.addClassifierDescriptor(classDescriptor);
|
||||||
scopeForMemberResolution.addClassifierDescriptor(classDescriptor);
|
scopeForMemberResolution.addClassifierDescriptor(classDescriptor);
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -36,7 +36,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
|
|||||||
private Modality modality;
|
private Modality modality;
|
||||||
private Visibility visibility;
|
private Visibility visibility;
|
||||||
|
|
||||||
private MutableClassDescriptor classObjectDescriptor;
|
private MutableClassDescriptorLite classObjectDescriptor;
|
||||||
private JetType classObjectType;
|
private JetType classObjectType;
|
||||||
private JetType defaultType;
|
private JetType defaultType;
|
||||||
private final ClassKind kind;
|
private final ClassKind kind;
|
||||||
@@ -65,7 +65,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
|
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
|
||||||
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
|
if (this.classObjectDescriptor != null) return ClassObjectStatus.DUPLICATE;
|
||||||
if (!isStatic(this.getContainingDeclaration())) {
|
if (!isStatic(this.getContainingDeclaration())) {
|
||||||
return ClassObjectStatus.NOT_ALLOWED;
|
return ClassObjectStatus.NOT_ALLOWED;
|
||||||
@@ -226,7 +226,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public MutableClassDescriptor getClassObjectDescriptor() {
|
public MutableClassDescriptorLite getClassObjectDescriptor() {
|
||||||
return classObjectDescriptor;
|
return classObjectDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,7 +251,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
|
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
|
||||||
getScopeForMemberLookupAsWritableScope().addClassifierDescriptor(classDescriptor);
|
getScopeForMemberLookupAsWritableScope().addClassifierDescriptor(classDescriptor);
|
||||||
innerClassesAndObjects.put(classDescriptor.getName(), classDescriptor);
|
innerClassesAndObjects.put(classDescriptor.getName(), classDescriptor);
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ public class MutableClassDescriptorLite extends MutableDeclarationDescriptor imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
|
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
|
||||||
getScopeForMemberLookupAsWritableScope().addObjectDescriptor(objectDescriptor);
|
getScopeForMemberLookupAsWritableScope().addObjectDescriptor(objectDescriptor);
|
||||||
innerClassesAndObjects.put(objectDescriptor.getName(), objectDescriptor);
|
innerClassesAndObjects.put(objectDescriptor.getName(), objectDescriptor);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -39,12 +39,12 @@ public class NamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
|
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
|
||||||
memberScope.addClassifierDescriptor(classDescriptor);
|
memberScope.addClassifierDescriptor(classDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
|
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
|
||||||
memberScope.addObjectDescriptor(objectDescriptor);
|
memberScope.addObjectDescriptor(objectDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ public class NamespaceDescriptorImpl extends AbstractNamespaceDescriptorImpl imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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");
|
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 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);
|
void addFunctionDescriptor(@NotNull NamedFunctionDescriptor functionDescriptor);
|
||||||
|
|
||||||
@@ -77,5 +77,5 @@ public interface NamespaceLike extends DeclarationDescriptor {
|
|||||||
NOT_ALLOWED
|
NOT_ALLOWED
|
||||||
}
|
}
|
||||||
|
|
||||||
ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor);
|
ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,12 +115,12 @@ public class AnalyzingUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
|
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
|
||||||
scope.addClassifierDescriptor(classDescriptor);
|
scope.addClassifierDescriptor(classDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
|
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ public class AnalyzingUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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");
|
throw new IllegalStateException("Must be guaranteed not to happen by the parser");
|
||||||
}
|
}
|
||||||
}, files, filesToAnalyzeCompletely, flowDataTraceFactory, configuration);
|
}, files, filesToAnalyzeCompletely, flowDataTraceFactory, configuration);
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ public class DeclarationResolver {
|
|||||||
@Override
|
@Override
|
||||||
public void visitEnumEntry(JetEnumEntry enumEntry) {
|
public void visitEnumEntry(JetEnumEntry enumEntry) {
|
||||||
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
||||||
MutableClassDescriptor classObjectDescriptor = ((MutableClassDescriptor) namespaceLike).getClassObjectDescriptor();
|
MutableClassDescriptorLite classObjectDescriptor = ((MutableClassDescriptor) namespaceLike).getClassObjectDescriptor();
|
||||||
assert classObjectDescriptor != null;
|
assert classObjectDescriptor != null;
|
||||||
PropertyDescriptor propertyDescriptor = context.getDescriptorResolver().resolveObjectDeclarationAsPropertyDescriptor(classObjectDescriptor, enumEntry, context.getClasses().get(enumEntry));
|
PropertyDescriptor propertyDescriptor = context.getDescriptorResolver().resolveObjectDeclarationAsPropertyDescriptor(classObjectDescriptor, enumEntry, context.getClasses().get(enumEntry));
|
||||||
classObjectDescriptor.addPropertyDescriptor(propertyDescriptor);
|
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.cfg.pseudocode.JetControlFlowDataTraceFactory;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.MutableClassDescriptor;
|
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.NamedFunctionDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorImpl;
|
||||||
@@ -136,12 +137,12 @@ public class TopDownAnalyzer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addClassifierDescriptor(@NotNull MutableClassDescriptor classDescriptor) {
|
public void addClassifierDescriptor(@NotNull MutableClassDescriptorLite classDescriptor) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addObjectDescriptor(@NotNull MutableClassDescriptor objectDescriptor) {
|
public void addObjectDescriptor(@NotNull MutableClassDescriptorLite objectDescriptor) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +157,7 @@ public class TopDownAnalyzer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
|
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
|
||||||
return ClassObjectStatus.NOT_ALLOWED;
|
return ClassObjectStatus.NOT_ALLOWED;
|
||||||
}
|
}
|
||||||
}, Collections.<PsiElement>singletonList(object), Predicates.equalTo(object.getContainingFile()), JetControlFlowDataTraceFactory.EMPTY, Configuration.EMPTY, true);
|
}, Collections.<PsiElement>singletonList(object), Predicates.equalTo(object.getContainingFile()), JetControlFlowDataTraceFactory.EMPTY, Configuration.EMPTY, true);
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ public class TypeHierarchyResolver {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void visitEnumEntry(JetEnumEntry enumEntry) {
|
public void visitEnumEntry(JetEnumEntry enumEntry) {
|
||||||
MutableClassDescriptor classObjectDescriptor = ((MutableClassDescriptor) owner).getClassObjectDescriptor();
|
MutableClassDescriptorLite classObjectDescriptor = ((MutableClassDescriptor) owner).getClassObjectDescriptor();
|
||||||
assert classObjectDescriptor != null : enumEntry.getParent().getText();
|
assert classObjectDescriptor != null : enumEntry.getParent().getText();
|
||||||
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
||||||
createClassDescriptorForObject(enumEntry, classObjectDescriptor, outerScopeForStatic, ClassKind.ENUM_ENTRY);
|
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) {
|
private MutableClassDescriptor createClassDescriptorForObject(@NotNull JetClassOrObject declaration, @NotNull NamespaceLike owner, JetScope scope, ClassKind classKind) {
|
||||||
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(context.getTrace(), owner, scope, classKind) {
|
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(context.getTrace(), owner, scope, classKind) {
|
||||||
@Override
|
@Override
|
||||||
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptor classObjectDescriptor) {
|
public ClassObjectStatus setClassObjectDescriptor(@NotNull MutableClassDescriptorLite classObjectDescriptor) {
|
||||||
return ClassObjectStatus.NOT_ALLOWED;
|
return ClassObjectStatus.NOT_ALLOWED;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user