From 37707e51a2eda9ab7435901ccd25404f1d326e72 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 18 Jun 2013 17:01:49 +0400 Subject: [PATCH] Refactoring: type parameters are explicitly built on the call site, not in the constructor --- .../descriptors/DeserializedClassDescriptor.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java index 53a103f6fd8..903d4357575 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java @@ -80,7 +80,7 @@ public class DeserializedClassDescriptor extends ClassDescriptorBase implements this.deserializer = DescriptorDeserializer.create(typeDeserializer, this, nameResolver, annotationResolver); this.containingDeclaration = containingDeclaration; - this.typeConstructor = new DeserializedClassTypeConstructor(); + this.typeConstructor = new DeserializedClassTypeConstructor(deserializer.typeParameters(classProto.getTypeParametersList())); this.memberScope = new DeserializedClassMemberScope(this); this.innerClassesScope = new InnerClassesScopeWrapper(memberScope); this.thisAsReceiverParameter = new LazyClassReceiverParameterDescriptor(); @@ -276,7 +276,11 @@ public class DeserializedClassDescriptor extends ClassDescriptorBase implements private class DeserializedClassTypeConstructor implements TypeConstructor { private final Collection supertypes = computeSuperTypes(); - private final List parameters = deserializer.typeParameters(classProto.getTypeParametersList()); + private final List parameters; + + public DeserializedClassTypeConstructor(@NotNull List typeParameters) { + parameters = typeParameters; + } @NotNull @Override