More precise return type in ClassDescriptorWithResolutionScopes.getClassObjectDescriptor()
This commit is contained in:
+5
-5
@@ -77,7 +77,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyEnti
|
||||
private final boolean isInner;
|
||||
|
||||
private final NotNullLazyValue<Annotations> annotations;
|
||||
private final NullableLazyValue<ClassDescriptor> classObjectDescriptor;
|
||||
private final NullableLazyValue<ClassDescriptorWithResolutionScopes> classObjectDescriptor;
|
||||
|
||||
private final LazyClassMemberScope unsubstitutedMemberScope;
|
||||
|
||||
@@ -130,9 +130,9 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyEnti
|
||||
return resolveAnnotations();
|
||||
}
|
||||
});
|
||||
this.classObjectDescriptor = storageManager.createNullableLazyValue(new Function0<ClassDescriptor>() {
|
||||
this.classObjectDescriptor = storageManager.createNullableLazyValue(new Function0<ClassDescriptorWithResolutionScopes>() {
|
||||
@Override
|
||||
public ClassDescriptor invoke() {
|
||||
public ClassDescriptorWithResolutionScopes invoke() {
|
||||
return computeClassObjectDescriptor();
|
||||
}
|
||||
});
|
||||
@@ -271,12 +271,12 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyEnti
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassDescriptor getClassObjectDescriptor() {
|
||||
public ClassDescriptorWithResolutionScopes getClassObjectDescriptor() {
|
||||
return classObjectDescriptor.invoke();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ClassDescriptor computeClassObjectDescriptor() {
|
||||
private ClassDescriptorWithResolutionScopes computeClassObjectDescriptor() {
|
||||
JetClassObject classObject = declarationProvider.getOwnerInfo().getClassObject();
|
||||
|
||||
JetClassLikeInfo classObjectInfo = getClassObjectInfo(classObject);
|
||||
|
||||
+5
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.jet.lang.descriptors;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.ReadOnly;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
|
||||
@@ -32,6 +33,10 @@ public interface ClassDescriptorWithResolutionScopes extends ClassDescriptor {
|
||||
@NotNull
|
||||
JetScope getScopeForInitializerResolution();
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
ClassDescriptorWithResolutionScopes getClassObjectDescriptor();
|
||||
|
||||
@NotNull
|
||||
@ReadOnly
|
||||
Collection<CallableMemberDescriptor> getDeclaredCallableMembers();
|
||||
|
||||
+6
-1
@@ -61,7 +61,12 @@ public class MutableClassDescriptor extends MutableClassDescriptorLite implement
|
||||
scopeForMemberResolution.addLabeledDeclaration(this);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@Nullable
|
||||
@Override
|
||||
public MutableClassDescriptor getClassObjectDescriptor() {
|
||||
return (MutableClassDescriptor) super.getClassObjectDescriptor();
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public void setPrimaryConstructor(@NotNull ConstructorDescriptor constructorDescriptor) {
|
||||
|
||||
Reference in New Issue
Block a user