Minor, drop one of "withTypes" in favor of default arguments

This commit is contained in:
Alexander Udalov
2014-11-20 18:34:51 +03:00
parent 1a84ade232
commit aa1fa7063e
2 changed files with 8 additions and 16 deletions
@@ -221,16 +221,13 @@ public class MemberDeserializer {
} }
@NotNull @NotNull
public List<DeserializedTypeParameterDescriptor> typeParameters( public List<DeserializedTypeParameterDescriptor> typeParameters(@NotNull List<TypeParameter> protos) {
@NotNull List<TypeParameter> protos,
@NotNull TypeDeserializer typeDeserializer
) {
List<DeserializedTypeParameterDescriptor> result = new ArrayList<DeserializedTypeParameterDescriptor>(protos.size()); List<DeserializedTypeParameterDescriptor> result = new ArrayList<DeserializedTypeParameterDescriptor>(protos.size());
for (int i = 0; i < protos.size(); i++) { for (int i = 0; i < protos.size(); i++) {
TypeParameter proto = protos.get(i); TypeParameter proto = protos.get(i);
DeserializedTypeParameterDescriptor descriptor = new DeserializedTypeParameterDescriptor( DeserializedTypeParameterDescriptor descriptor = new DeserializedTypeParameterDescriptor(
getComponents().getStorageManager(), getComponents().getStorageManager(),
typeDeserializer, context.getTypeDeserializer(),
proto, proto,
context.getContainingDeclaration(), context.getContainingDeclaration(),
context.getNameResolver().getName(proto.getName()), context.getNameResolver().getName(proto.getName()),
@@ -67,12 +67,8 @@ public open class DeserializationContext(
classDeserializer: ClassDeserializer, classDeserializer: ClassDeserializer,
public val nameResolver: NameResolver public val nameResolver: NameResolver
) : DeserializationGlobalContext(components, classDeserializer) { ) : DeserializationGlobalContext(components, classDeserializer) {
fun withTypes(containingDeclaration: DeclarationDescriptor): DeserializationContextWithTypes { fun withTypes(containingDeclaration: DeclarationDescriptor, parent: TypeDeserializer? = null): DeserializationContextWithTypes {
val typeDeserializer = TypeDeserializer(this, null, "Deserializer for ${containingDeclaration.getName()}") val typeDeserializer = TypeDeserializer(this, parent, "Deserializer for ${containingDeclaration.getName()}")
return withTypes(containingDeclaration, typeDeserializer)
}
fun withTypes(containingDeclaration: DeclarationDescriptor, typeDeserializer: TypeDeserializer): DeserializationContextWithTypes {
return DeserializationContextWithTypes(components, classDeserializer, nameResolver, containingDeclaration, typeDeserializer) return DeserializationContextWithTypes(components, classDeserializer, nameResolver, containingDeclaration, typeDeserializer)
} }
} }
@@ -88,13 +84,12 @@ class DeserializationContextWithTypes(
val memberDeserializer: MemberDeserializer = MemberDeserializer(this) val memberDeserializer: MemberDeserializer = MemberDeserializer(this)
fun childContext(descriptor: DeclarationDescriptor, typeParameterProtos: List<TypeParameter>): DeserializationContextWithTypes { fun childContext(descriptor: DeclarationDescriptor, typeParameterProtos: List<TypeParameter>): DeserializationContextWithTypes {
val childTypeDeserializer = TypeDeserializer(this, typeDeserializer, "Child deserializer for ${descriptor.getName()}") val child = this.withTypes(descriptor, parent = this.typeDeserializer)
val childContext = withTypes(descriptor, childTypeDeserializer)
for (typeParameter in childContext.memberDeserializer.typeParameters(typeParameterProtos, childTypeDeserializer)) { for (typeParameter in child.memberDeserializer.typeParameters(typeParameterProtos)) {
childTypeDeserializer.addTypeParameter(typeParameter) child.typeDeserializer.addTypeParameter(typeParameter)
} }
return childContext return child
} }
} }