Do not force resolve from type constructor

In case of creating context for something like 'class Foo(f: Bar)'
there is no need in resolving supertypes/annotations of Bar type
This commit is contained in:
Mikhail Zarechenskiy
2016-11-14 17:23:53 +03:00
parent 53cb559440
commit 7103624308
@@ -561,7 +561,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
return parameters.invoke();
}
private class LazyClassTypeConstructor extends AbstractClassTypeConstructor implements LazyEntity {
private class LazyClassTypeConstructor extends AbstractClassTypeConstructor {
private final NotNullLazyValue<List<TypeParameterDescriptor>> parameters = c.getStorageManager().createLazyValue(new Function0<List<TypeParameterDescriptor>>() {
@Override
public List<TypeParameterDescriptor> invoke() {
@@ -569,15 +569,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
}
});
private final NullableLazyValue<Void> forceResolveAllContents =
c.getStorageManager().createRecursionTolerantNullableLazyValue(new Function0<Void>() {
@Override
public Void invoke() {
doForceResolveAllContents();
return null;
}
}, null);
public LazyClassTypeConstructor() {
super(LazyClassDescriptor.this.c.getStorageManager());
}
@@ -660,17 +651,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
public String toString() {
return LazyClassDescriptor.this.getName().toString();
}
@Override
public void forceResolveAllContents() {
forceResolveAllContents.invoke();
}
private void doForceResolveAllContents() {
ForceResolveUtil.forceResolveAllContents(getAnnotations());
ForceResolveUtil.forceResolveAllContents(getSupertypes());
ForceResolveUtil.forceResolveAllContents(getParameters());
}
}
@NotNull