Pull up getUnsubstitutedInnerClassesScope()
This commit is contained in:
-9
@@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.DescriptorFactory;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.OverridingUtil;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.InnerClassesScopeWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ClassReceiver;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue;
|
||||
@@ -72,7 +71,6 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
private final Visibility visibility;
|
||||
private final ClassKind kind;
|
||||
private final boolean isInner;
|
||||
private final InnerClassesScopeWrapper innerClassesScope;
|
||||
private final DescriptorFinder descriptorFinder;
|
||||
|
||||
public DeserializedClassDescriptor(
|
||||
@@ -106,7 +104,6 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
|
||||
this.typeConstructor = new DeserializedClassTypeConstructor(typeParameters);
|
||||
this.memberScope = new DeserializedClassMemberScope(storageManager, this);
|
||||
this.innerClassesScope = new InnerClassesScopeWrapper(memberScope);
|
||||
this.thisAsReceiverParameter = new LazyClassReceiverParameterDescriptor();
|
||||
|
||||
int flags = classProto.getFlags();
|
||||
@@ -212,12 +209,6 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
||||
return memberScope;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getUnsubstitutedInnerClassesScope() {
|
||||
return innerClassesScope;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ConstructorDescriptor computePrimaryConstructor() {
|
||||
if (!classProto.hasPrimaryConstructor()) return null;
|
||||
|
||||
-8
@@ -82,7 +82,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
private final NullableLazyValue<ClassDescriptor> classObjectDescriptor;
|
||||
|
||||
private final LazyClassMemberScope unsubstitutedMemberScope;
|
||||
private final JetScope unsubstitutedInnerClassesScope;
|
||||
|
||||
private final NotNullLazyValue<JetScope> scopeForClassHeaderResolution;
|
||||
private final NotNullLazyValue<JetScope> scopeForMemberDeclarationResolution;
|
||||
@@ -108,7 +107,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
resolveSession.getDeclarationProviderFactory().getClassMemberDeclarationProvider(classLikeInfoForMembers);
|
||||
|
||||
this.unsubstitutedMemberScope = new LazyClassMemberScope(resolveSession, declarationProvider, this);
|
||||
this.unsubstitutedInnerClassesScope = new InnerClassesScopeWrapper(unsubstitutedMemberScope);
|
||||
|
||||
this.typeConstructor = new LazyClassTypeConstructor();
|
||||
|
||||
@@ -172,12 +170,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc
|
||||
return unsubstitutedMemberScope;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getUnsubstitutedInnerClassesScope() {
|
||||
return unsubstitutedInnerClassesScope;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JetScope getScopeForClassHeaderResolution() {
|
||||
return scopeForClassHeaderResolution.invoke();
|
||||
|
||||
+14
@@ -24,6 +24,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptorVisitor;
|
||||
import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.InnerClassesScopeWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.SubstitutingScope;
|
||||
import org.jetbrains.jet.lang.types.*;
|
||||
@@ -36,6 +37,7 @@ import java.util.Map;
|
||||
public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
private final Name name;
|
||||
protected final NotNullLazyValue<JetType> defaultType;
|
||||
private final NotNullLazyValue<JetScope> unsubstitutedInnerClassesScope;
|
||||
|
||||
public AbstractClassDescriptor(@NotNull StorageManager storageManager, @NotNull Name name) {
|
||||
this.name = name;
|
||||
@@ -45,6 +47,12 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
return TypeUtils.makeUnsubstitutedType(AbstractClassDescriptor.this, getScopeForMemberLookup());
|
||||
}
|
||||
});
|
||||
this.unsubstitutedInnerClassesScope = storageManager.createLazyValue(new Function0<JetScope>() {
|
||||
@Override
|
||||
public JetScope invoke() {
|
||||
return new InnerClassesScopeWrapper(getScopeForMemberLookup());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -69,6 +77,12 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor {
|
||||
return classObject == null ? null : classObject.getDefaultType();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getUnsubstitutedInnerClassesScope() {
|
||||
return unsubstitutedInnerClassesScope.invoke();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getMemberScope(List<? extends TypeProjection> typeArguments) {
|
||||
|
||||
+1
-13
@@ -23,7 +23,6 @@ import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorFactory;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.InnerClassesScopeWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
@@ -56,7 +55,6 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
|
||||
private final ClassKind kind;
|
||||
|
||||
private JetScope scopeForMemberLookup;
|
||||
private JetScope innerClassesScope;
|
||||
|
||||
private ReceiverParameterDescriptor implicitReceiver;
|
||||
|
||||
@@ -76,9 +74,8 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
|
||||
return typeConstructor;
|
||||
}
|
||||
|
||||
public void setScopeForMemberLookup(JetScope scopeForMemberLookup) {
|
||||
public void setScopeForMemberLookup(@NotNull JetScope scopeForMemberLookup) {
|
||||
this.scopeForMemberLookup = scopeForMemberLookup;
|
||||
this.innerClassesScope = new InnerClassesScopeWrapper(scopeForMemberLookup);
|
||||
}
|
||||
|
||||
public void createTypeConstructor() {
|
||||
@@ -149,15 +146,6 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase {
|
||||
return classObjectDescriptor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JetScope getUnsubstitutedInnerClassesScope() {
|
||||
return innerClassesScope;
|
||||
}
|
||||
|
||||
|
||||
public void addSupertype(@NotNull JetType supertype) {
|
||||
assert !supertype.isError() : "Error types must be filtered out in DescriptorResolver";
|
||||
if (TypeUtils.getClassDescriptor(supertype) != null) {
|
||||
|
||||
Reference in New Issue
Block a user