Minor, inline ClassData#read & PackageData#read to single usage

This commit is contained in:
Alexander Udalov
2015-09-21 16:26:38 +03:00
parent 4a8d2b73d3
commit f9ba7f6880
3 changed files with 19 additions and 40 deletions
@@ -19,6 +19,9 @@ package org.jetbrains.kotlin.serialization.jvm
import com.google.protobuf.ExtensionRegistryLite import com.google.protobuf.ExtensionRegistryLite
import org.jetbrains.kotlin.serialization.ClassData import org.jetbrains.kotlin.serialization.ClassData
import org.jetbrains.kotlin.serialization.PackageData import org.jetbrains.kotlin.serialization.PackageData
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
import java.io.ByteArrayInputStream
public object JvmProtoBufUtil { public object JvmProtoBufUtil {
public val EXTENSION_REGISTRY: ExtensionRegistryLite = run { public val EXTENSION_REGISTRY: ExtensionRegistryLite = run {
@@ -28,14 +31,26 @@ public object JvmProtoBufUtil {
} }
@JvmStatic @JvmStatic
public fun readClassDataFrom(encodedData: Array<String>): ClassData = readClassDataFrom(BitEncoding.decodeBytes(encodedData)) public fun readClassDataFrom(data: Array<String>): ClassData =
readClassDataFrom(BitEncoding.decodeBytes(data))
@JvmStatic @JvmStatic
public fun readClassDataFrom(data: ByteArray): ClassData = ClassData.read(data, EXTENSION_REGISTRY) public fun readClassDataFrom(bytes: ByteArray): ClassData {
val input = ByteArrayInputStream(bytes)
val nameResolver = NameResolver.read(input)
val classProto = ProtoBuf.Class.parseFrom(input, EXTENSION_REGISTRY)
return ClassData(nameResolver, classProto)
}
@JvmStatic @JvmStatic
public fun readPackageDataFrom(encodedData: Array<String>): PackageData = readPackageDataFrom(BitEncoding.decodeBytes(encodedData)) public fun readPackageDataFrom(data: Array<String>): PackageData =
readPackageDataFrom(BitEncoding.decodeBytes(data))
@JvmStatic @JvmStatic
public fun readPackageDataFrom(data: ByteArray): PackageData = PackageData.read(data, EXTENSION_REGISTRY) public fun readPackageDataFrom(bytes: ByteArray): PackageData {
val input = ByteArrayInputStream(bytes)
val nameResolver = NameResolver.read(input)
val packageProto = ProtoBuf.Package.parseFrom(input, EXTENSION_REGISTRY)
return PackageData(nameResolver, packageProto)
}
} }
@@ -16,28 +16,10 @@
package org.jetbrains.kotlin.serialization; package org.jetbrains.kotlin.serialization;
import com.google.protobuf.ExtensionRegistryLite;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.serialization.deserialization.NameResolver; import org.jetbrains.kotlin.serialization.deserialization.NameResolver;
import org.jetbrains.kotlin.utils.UtilsPackage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public final class ClassData { public final class ClassData {
@NotNull
public static ClassData read(@NotNull byte[] bytes, @NotNull ExtensionRegistryLite registry) {
try {
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
NameResolver nameResolver = NameResolver.read(in);
ProtoBuf.Class classProto = ProtoBuf.Class.parseFrom(in, registry);
return new ClassData(nameResolver, classProto);
}
catch (IOException e) {
throw UtilsPackage.rethrow(e);
}
}
private final NameResolver nameResolver; private final NameResolver nameResolver;
private final ProtoBuf.Class classProto; private final ProtoBuf.Class classProto;
@@ -16,28 +16,10 @@
package org.jetbrains.kotlin.serialization; package org.jetbrains.kotlin.serialization;
import com.google.protobuf.ExtensionRegistryLite;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.serialization.deserialization.NameResolver; import org.jetbrains.kotlin.serialization.deserialization.NameResolver;
import org.jetbrains.kotlin.utils.UtilsPackage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public final class PackageData { public final class PackageData {
@NotNull
public static PackageData read(@NotNull byte[] bytes, @NotNull ExtensionRegistryLite registry) {
try {
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
NameResolver nameResolver = NameResolver.read(in);
ProtoBuf.Package packageProto = ProtoBuf.Package.parseFrom(in, registry);
return new PackageData(nameResolver, packageProto);
}
catch (IOException e) {
throw UtilsPackage.rethrow(e);
}
}
private final NameResolver nameResolver; private final NameResolver nameResolver;
private final ProtoBuf.Package packageProto; private final ProtoBuf.Package packageProto;