From 71036243080dc35430992af8e023bbe37a3670d8 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Mon, 14 Nov 2016 17:23:53 +0300 Subject: [PATCH] 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 --- .../lazy/descriptors/LazyClassDescriptor.java | 22 +------------------ 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java index eeb709506d0..35df06725a5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java @@ -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> parameters = c.getStorageManager().createLazyValue(new Function0>() { @Override public List invoke() { @@ -569,15 +569,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes } }); - private final NullableLazyValue forceResolveAllContents = - c.getStorageManager().createRecursionTolerantNullableLazyValue(new Function0() { - @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