Move 8bit<->7bit logic to a separate class

This commit is contained in:
Alexander Udalov
2013-09-18 21:35:23 +04:00
parent a3f9cef354
commit dfb0908da0
5 changed files with 247 additions and 222 deletions
@@ -40,9 +40,9 @@ import org.jetbrains.jet.codegen.signature.*;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.codegen.state.JetTypeMapperMode;
import org.jetbrains.jet.descriptors.serialization.BitEncoding;
import org.jetbrains.jet.descriptors.serialization.ClassData;
import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.descriptors.impl.MutableClassDescriptor;
@@ -228,7 +228,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
AnnotationVisitor av = v.getVisitor().visitAnnotation(JvmAnnotationNames.KOTLIN_CLASS.getDescriptor(), true);
av.visit(JvmAnnotationNames.ABI_VERSION_FIELD_NAME, JvmAbi.VERSION);
AnnotationVisitor array = av.visitArray(JvmAnnotationNames.DATA_FIELD_NAME);
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
for (String string : BitEncoding.encodeBytes(data.toBytes())) {
array.visit(null, string);
}
array.visitEnd();
@@ -31,8 +31,8 @@ import org.jetbrains.asm4.Type;
import org.jetbrains.jet.codegen.context.CodegenContext;
import org.jetbrains.jet.codegen.context.FieldOwnerContext;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.descriptors.serialization.BitEncoding;
import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil;
import org.jetbrains.jet.descriptors.serialization.PackageData;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.lang.descriptors.*;
@@ -155,7 +155,7 @@ public class NamespaceCodegen extends MemberCodegen {
AnnotationVisitor av = v.getClassBuilder().newAnnotation(JvmAnnotationNames.KOTLIN_PACKAGE.getDescriptor(), true);
av.visit(JvmAnnotationNames.ABI_VERSION_FIELD_NAME, JvmAbi.VERSION);
AnnotationVisitor array = av.visitArray(JvmAnnotationNames.DATA_FIELD_NAME);
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
for (String string : BitEncoding.encodeBytes(data.toBytes())) {
array.visit(null, string);
}
array.visitEnd();
@@ -21,11 +21,11 @@ import org.jetbrains.annotations.NotNull;
import java.util.Random;
import static org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil.decodeBytes;
import static org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil.encodeBytes;
import static org.jetbrains.jet.descriptors.serialization.BitEncoding.decodeBytes;
import static org.jetbrains.jet.descriptors.serialization.BitEncoding.encodeBytes;
import static org.junit.Assert.assertArrayEquals;
public class JavaProtoBufUtilTest extends UsefulTestCase {
public class BitEncodingTest extends UsefulTestCase {
private static final int[] BIG_LENGTHS = new int[]
{1000, 32000, 33000, 65000, 65534, 65535, 65536, 65537, 100000, 131074, 239017, 314159, 1000000};