Introduced lazy type and some related optimizations.
This commit is contained in:
+1
-1
@@ -205,7 +205,7 @@ public class TypeDeserializer {
|
||||
return debugName;
|
||||
}
|
||||
|
||||
private class DeserializedType extends AbstractJetType {
|
||||
private class DeserializedType extends AbstractJetType implements LazyType {
|
||||
private final ProtoBuf.Type typeProto;
|
||||
private final NotNullLazyValue<TypeConstructor> constructor;
|
||||
private final List<TypeProjection> arguments;
|
||||
|
||||
@@ -23,14 +23,14 @@ import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.storage.NotNullLazyValue;
|
||||
import org.jetbrains.jet.util.ReenteringLazyValueComputationException;
|
||||
import org.jetbrains.jet.util.Box;
|
||||
import org.jetbrains.jet.util.ReenteringLazyValueComputationException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContext.DEFERRED_TYPE;
|
||||
|
||||
public class DeferredType implements JetType {
|
||||
public class DeferredType implements LazyType {
|
||||
|
||||
public static DeferredType create(BindingTrace trace, NotNullLazyValue<JetType> lazyValue) {
|
||||
DeferredType deferredType = new DeferredType(lazyValue);
|
||||
|
||||
Reference in New Issue
Block a user