Pull up getClassObjectType()
This commit is contained in:
-7
@@ -243,13 +243,6 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
return Collections.singletonList(constructor);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public JetType getClassObjectType() {
|
||||
ClassDescriptor classObjectDescriptor = getClassObjectDescriptor();
|
||||
return classObjectDescriptor == null ? null : classObjectDescriptor.getDefaultType();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ClassDescriptor computeClassObjectDescriptor() {
|
||||
if (!classProto.getClassObjectPresent()) {
|
||||
|
||||
-6
@@ -260,12 +260,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
return typeConstructor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JetType getClassObjectType() {
|
||||
ClassDescriptor classObjectDescriptor = getClassObjectDescriptor();
|
||||
return classObjectDescriptor == null ? null : classObjectDescriptor.getDefaultType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassDescriptor getClassObjectDescriptor() {
|
||||
return classObjectDescriptor.invoke();
|
||||
|
||||
+8
@@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.descriptors.impl;
|
||||
|
||||
import jet.Function0;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptorVisitor;
|
||||
@@ -61,6 +62,13 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
@NotNull
|
||||
protected abstract JetScope getScopeForMemberLookup();
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public JetType getClassObjectType() {
|
||||
ClassDescriptor classObject = getClassObjectDescriptor();
|
||||
return classObject == null ? null : classObject.getDefaultType();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getMemberScope(List<? extends TypeProjection> typeArguments) {
|
||||
|
||||
-10
@@ -53,7 +53,6 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
|
||||
private final boolean isInner;
|
||||
|
||||
private MutableClassDescriptorLite classObjectDescriptor;
|
||||
private JetType classObjectType;
|
||||
private final ClassKind kind;
|
||||
|
||||
private JetScope scopeForMemberLookup;
|
||||
@@ -98,21 +97,12 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
|
||||
return (WritableScope) scopeForMemberLookup;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JetScope getScopeForMemberLookup() {
|
||||
return scopeForMemberLookup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JetType getClassObjectType() {
|
||||
if (classObjectType == null && classObjectDescriptor != null) {
|
||||
classObjectType = classObjectDescriptor.getDefaultType();
|
||||
}
|
||||
return classObjectType;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ClassKind getKind() {
|
||||
|
||||
Reference in New Issue
Block a user