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
public List<DeserializedTypeParameterDescriptor> typeParameters(
@NotNull List<TypeParameter> protos,
@NotNull TypeDeserializer typeDeserializer
) {
public List<DeserializedTypeParameterDescriptor> typeParameters(@NotNull List<TypeParameter> protos) {
List<DeserializedTypeParameterDescriptor> result = new ArrayList<DeserializedTypeParameterDescriptor>(protos.size());
for (int i = 0; i < protos.size(); i++) {
TypeParameter proto = protos.get(i);
DeserializedTypeParameterDescriptor descriptor = new DeserializedTypeParameterDescriptor(
getComponents().getStorageManager(),
typeDeserializer,
context.getTypeDeserializer(),
proto,
context.getContainingDeclaration(),
context.getNameResolver().getName(proto.getName()),
@@ -67,12 +67,8 @@ public open class DeserializationContext(
classDeserializer: ClassDeserializer,
public val nameResolver: NameResolver
) : DeserializationGlobalContext(components, classDeserializer) {
fun withTypes(containingDeclaration: DeclarationDescriptor): DeserializationContextWithTypes {
val typeDeserializer = TypeDeserializer(this, null, "Deserializer for ${containingDeclaration.getName()}")
return withTypes(containingDeclaration, typeDeserializer)
}
fun withTypes(containingDeclaration: DeclarationDescriptor, typeDeserializer: TypeDeserializer): DeserializationContextWithTypes {
fun withTypes(containingDeclaration: DeclarationDescriptor, parent: TypeDeserializer? = null): DeserializationContextWithTypes {
val typeDeserializer = TypeDeserializer(this, parent, "Deserializer for ${containingDeclaration.getName()}")
return DeserializationContextWithTypes(components, classDeserializer, nameResolver, containingDeclaration, typeDeserializer)
}
}
@@ -88,13 +84,12 @@ class DeserializationContextWithTypes(
val memberDeserializer: MemberDeserializer = MemberDeserializer(this)
fun childContext(descriptor: DeclarationDescriptor, typeParameterProtos: List<TypeParameter>): DeserializationContextWithTypes {
val childTypeDeserializer = TypeDeserializer(this, typeDeserializer, "Child deserializer for ${descriptor.getName()}")
val childContext = withTypes(descriptor, childTypeDeserializer)
val child = this.withTypes(descriptor, parent = this.typeDeserializer)
for (typeParameter in childContext.memberDeserializer.typeParameters(typeParameterProtos, childTypeDeserializer)) {
childTypeDeserializer.addTypeParameter(typeParameter)
for (typeParameter in child.memberDeserializer.typeParameters(typeParameterProtos)) {
child.typeDeserializer.addTypeParameter(typeParameter)
}
return childContext
return child
}
}