From 132f77d3c455af4c3151655c39baefba0c5042ae Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 15 Jul 2013 23:05:48 +0400 Subject: [PATCH] Minor, delete SerializerProvider --- .../serialization/ClassSerializationUtil.java | 44 ++++--------------- .../AbstractDescriptorSerializationTest.java | 3 +- .../BuiltinsDeserializationTest.java | 4 +- .../builtins/BuiltInsSerializer.java | 2 +- 4 files changed, 12 insertions(+), 41 deletions(-) diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/ClassSerializationUtil.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/ClassSerializationUtil.java index aeddd68f83a..6e32b415d8c 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/ClassSerializationUtil.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/ClassSerializationUtil.java @@ -23,65 +23,39 @@ import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; -import org.jetbrains.jet.utils.ExceptionUtils; -import java.io.ByteArrayInputStream; -import java.io.IOException; import java.util.Collection; public class ClassSerializationUtil { + private ClassSerializationUtil() { + } + public interface Sink { void writeClass(@NotNull ClassDescriptor classDescriptor, @NotNull ProtoBuf.Class classProto); } - public interface SerializerProvider { - @NotNull - DescriptorSerializer getSerializerFor(@NotNull ClassDescriptor classDescriptor); - } - - public static final SerializerProvider NEW_EVERY_TIME = new SerializerProvider() { - @NotNull - @Override - public DescriptorSerializer getSerializerFor(@NotNull ClassDescriptor classDescriptor) { - return new DescriptorSerializer(); - } - }; - - @NotNull - public static SerializerProvider constantSerializer(@NotNull final DescriptorSerializer serializer) { - return new SerializerProvider() { - @NotNull - @Override - public DescriptorSerializer getSerializerFor(@NotNull ClassDescriptor classDescriptor) { - return serializer; - } - }; - } - - public static void serializeClass(@NotNull ClassDescriptor classDescriptor, @NotNull SerializerProvider serializerProvider, @NotNull Sink sink) { - DescriptorSerializer serializer = serializerProvider.getSerializerFor(classDescriptor); + public static void serializeClass(@NotNull ClassDescriptor classDescriptor, @NotNull DescriptorSerializer serializer, @NotNull Sink sink) { ProtoBuf.Class classProto = serializer.classProto(classDescriptor).build(); sink.writeClass(classDescriptor, classProto); - serializeClasses(classDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors(), serializerProvider, sink); + serializeClasses(classDescriptor.getUnsubstitutedInnerClassesScope().getAllDescriptors(), serializer, sink); - serializeClasses(classDescriptor.getUnsubstitutedInnerClassesScope().getObjectDescriptors(), serializerProvider, sink); + serializeClasses(classDescriptor.getUnsubstitutedInnerClassesScope().getObjectDescriptors(), serializer, sink); ClassDescriptor classObjectDescriptor = classDescriptor.getClassObjectDescriptor(); if (classObjectDescriptor != null) { - serializeClass(classObjectDescriptor, serializerProvider, sink); + serializeClass(classObjectDescriptor, serializer, sink); } } public static void serializeClasses( @NotNull Collection descriptors, - @NotNull SerializerProvider serializerProvider, + @NotNull DescriptorSerializer serializer, @NotNull Sink sink ) { for (DeclarationDescriptor descriptor : descriptors) { if (descriptor instanceof ClassDescriptor) { - ClassDescriptor nestedClass = (ClassDescriptor) descriptor; - serializeClass(nestedClass, serializerProvider, sink); + serializeClass((ClassDescriptor) descriptor, serializer, sink); } } } diff --git a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java index 9133dbf4d38..acb8bb7f4ed 100644 --- a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java +++ b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java @@ -53,7 +53,6 @@ import java.io.File; import java.io.IOException; import java.util.*; -import static org.jetbrains.jet.descriptors.serialization.ClassSerializationUtil.constantSerializer; import static org.jetbrains.jet.descriptors.serialization.ClassSerializationUtil.getClassId; import static org.jetbrains.jet.descriptors.serialization.NameSerializationUtil.*; import static org.jetbrains.jet.descriptors.serialization.descriptors.AnnotationDeserializer.UNSUPPORTED; @@ -232,7 +231,7 @@ public abstract class AbstractDescriptorSerializationTest extends KotlinTestWith final Map serializedClasses = Maps.newHashMap(); final DescriptorSerializer serializer = new DescriptorSerializer(); - ClassSerializationUtil.serializeClasses(classes, constantSerializer(serializer), new ClassSerializationUtil.Sink() { + ClassSerializationUtil.serializeClasses(classes, serializer, new ClassSerializationUtil.Sink() { @Override public void writeClass(@NotNull ClassDescriptor classDescriptor, @NotNull ProtoBuf.Class classProto) { serializedClasses.put(classDescriptor, new ClassData(createNameResolver(serializer.getNameTable()), classProto).toBytes()); diff --git a/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java b/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java index 45058a6909c..058aa3e2047 100644 --- a/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java +++ b/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java @@ -44,8 +44,6 @@ import java.util.Collection; import java.util.List; import java.util.Map; -import static org.jetbrains.jet.descriptors.serialization.ClassSerializationUtil.constantSerializer; - public class BuiltinsDeserializationTest extends KotlinTestWithEnvironment { @Override protected JetCoreEnvironment createEnvironment() { @@ -139,7 +137,7 @@ public class BuiltinsDeserializationTest extends KotlinTestWithEnvironment { Collection allDescriptors ) { final Map classProtos = Maps.newHashMap(); - ClassSerializationUtil.serializeClasses(allDescriptors, constantSerializer(serializer), new ClassSerializationUtil.Sink() { + ClassSerializationUtil.serializeClasses(allDescriptors, serializer, new ClassSerializationUtil.Sink() { @Override public void writeClass( @NotNull ClassDescriptor classDescriptor, @NotNull ProtoBuf.Class classProto diff --git a/generators/org/jetbrains/jet/generators/builtins/BuiltInsSerializer.java b/generators/org/jetbrains/jet/generators/builtins/BuiltInsSerializer.java index 9352e6efef9..929d8189a00 100644 --- a/generators/org/jetbrains/jet/generators/builtins/BuiltInsSerializer.java +++ b/generators/org/jetbrains/jet/generators/builtins/BuiltInsSerializer.java @@ -70,7 +70,7 @@ public class BuiltInsSerializer { }); final List classNames = new ArrayList(); - ClassSerializationUtil.serializeClasses(allDescriptors, ClassSerializationUtil.constantSerializer(serializer), new ClassSerializationUtil.Sink() { + ClassSerializationUtil.serializeClasses(allDescriptors, serializer, new ClassSerializationUtil.Sink() { @Override public void writeClass(@NotNull ClassDescriptor classDescriptor, @NotNull ProtoBuf.Class classProto) { try {