Drop BuiltIns protobuf message, use ProtoBuf.PackageFragment instead

This commit is contained in:
Alexander Udalov
2017-01-31 16:49:11 +03:00
parent a36e457c12
commit 3cb8f1ab20
9 changed files with 19 additions and 2191 deletions
@@ -40,7 +40,6 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.builtins.BuiltInsSerializerExtension
import org.jetbrains.kotlin.serialization.deserialization.MetadataPackageFragment.Companion.DOT_METADATA_FILE_EXTENSION
import org.jetbrains.kotlin.serialization.jvm.JvmPackageTable
@@ -145,7 +144,7 @@ open class MetadataSerializer(private val dependOnOldBuiltIns: Boolean) {
packageFqName: FqName,
private val destFile: File
) {
private val proto = BuiltInsProtoBuf.BuiltIns.newBuilder()
private val proto = ProtoBuf.PackageFragment.newBuilder()
private val extension = BuiltInsSerializerExtension(packageFqName)
fun run() {
@@ -20,12 +20,12 @@ import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.serialization.ClassData
import org.jetbrains.kotlin.serialization.ClassDataWithSource
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.ClassDataFinder
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
class BuiltInsClassDataFinder(
proto: BuiltInsProtoBuf.BuiltIns,
proto: ProtoBuf.PackageFragment,
private val nameResolver: NameResolver
) : ClassDataFinder {
private val classIdToProto =
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.builtins
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.ClassDeserializer
import org.jetbrains.kotlin.serialization.deserialization.DeserializedPackageFragment
import org.jetbrains.kotlin.serialization.deserialization.NameResolverImpl
@@ -44,7 +44,7 @@ class BuiltInsPackageFragment(
)
}
BuiltInsProtoBuf.BuiltIns.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
ProtoBuf.PackageFragment.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
}
private val nameResolver = NameResolverImpl(proto.strings, proto.qualifiedNames)
-9
View File
@@ -21,15 +21,6 @@ import "core/deserialization/src/descriptors.proto";
option java_outer_classname = "BuiltInsProtoBuf";
option optimize_for = LITE_RUNTIME;
message BuiltIns {
optional StringTable strings = 1;
optional QualifiedNameTable qualified_names = 2;
optional Package package = 3;
repeated Class class = 4;
}
extend Package {
optional int32 package_fq_name = 151;
}
@@ -18,868 +18,6 @@ public final class BuiltInsProtoBuf {
registry.add(org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.typeAnnotation);
registry.add(org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.typeParameterAnnotation);
}
public interface BuiltInsOrBuilder extends
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.builtins.BuiltIns)
org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
boolean hasStrings();
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings();
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
boolean hasQualifiedNames();
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames();
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
boolean hasPackage();
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage();
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Class>
getClass_List();
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index);
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
int getClass_Count();
}
/**
* Protobuf type {@code org.jetbrains.kotlin.serialization.builtins.BuiltIns}
*/
public static final class BuiltIns extends
org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
// @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.builtins.BuiltIns)
BuiltInsOrBuilder {
// Use BuiltIns.newBuilder() to construct.
private BuiltIns(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
super(builder);
this.unknownFields = builder.getUnknownFields();
}
private BuiltIns(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
private static final BuiltIns defaultInstance;
public static BuiltIns getDefaultInstance() {
return defaultInstance;
}
public BuiltIns getDefaultInstanceForType() {
return defaultInstance;
}
private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
private BuiltIns(
org.jetbrains.kotlin.protobuf.CodedInputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
initFields();
int mutable_bitField0_ = 0;
org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
org.jetbrains.kotlin.protobuf.ByteString.newOutput();
org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
unknownFieldsOutput);
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownField(input, unknownFieldsCodedOutput,
extensionRegistry, tag)) {
done = true;
}
break;
}
case 10: {
org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.Builder subBuilder = null;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
subBuilder = strings_.toBuilder();
}
strings_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.PARSER, extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(strings_);
strings_ = subBuilder.buildPartial();
}
bitField0_ |= 0x00000001;
break;
}
case 18: {
org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.Builder subBuilder = null;
if (((bitField0_ & 0x00000002) == 0x00000002)) {
subBuilder = qualifiedNames_.toBuilder();
}
qualifiedNames_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.PARSER, extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(qualifiedNames_);
qualifiedNames_ = subBuilder.buildPartial();
}
bitField0_ |= 0x00000002;
break;
}
case 26: {
org.jetbrains.kotlin.serialization.ProtoBuf.Package.Builder subBuilder = null;
if (((bitField0_ & 0x00000004) == 0x00000004)) {
subBuilder = package_.toBuilder();
}
package_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Package.PARSER, extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(package_);
package_ = subBuilder.buildPartial();
}
bitField0_ |= 0x00000004;
break;
}
case 34: {
if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
class__ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Class>();
mutable_bitField0_ |= 0x00000008;
}
class__.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PARSER, extensionRegistry));
break;
}
}
}
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
class__ = java.util.Collections.unmodifiableList(class__);
}
try {
unknownFieldsCodedOutput.flush();
} catch (java.io.IOException e) {
// Should not happen
} finally {
unknownFields = unknownFieldsOutput.toByteString();
}
makeExtensionsImmutable();
}
}
public static org.jetbrains.kotlin.protobuf.Parser<BuiltIns> PARSER =
new org.jetbrains.kotlin.protobuf.AbstractParser<BuiltIns>() {
public BuiltIns parsePartialFrom(
org.jetbrains.kotlin.protobuf.CodedInputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
return new BuiltIns(input, extensionRegistry);
}
};
@java.lang.Override
public org.jetbrains.kotlin.protobuf.Parser<BuiltIns> getParserForType() {
return PARSER;
}
private int bitField0_;
public static final int STRINGS_FIELD_NUMBER = 1;
private org.jetbrains.kotlin.serialization.ProtoBuf.StringTable strings_;
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public boolean hasStrings() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings() {
return strings_;
}
public static final int QUALIFIED_NAMES_FIELD_NUMBER = 2;
private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable qualifiedNames_;
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public boolean hasQualifiedNames() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames() {
return qualifiedNames_;
}
public static final int PACKAGE_FIELD_NUMBER = 3;
private org.jetbrains.kotlin.serialization.ProtoBuf.Package package_;
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public boolean hasPackage() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage() {
return package_;
}
public static final int CLASS_FIELD_NUMBER = 4;
private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Class> class__;
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Class> getClass_List() {
return class__;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder>
getClass_OrBuilderList() {
return class__;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public int getClass_Count() {
return class__.size();
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index) {
return class__.get(index);
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder getClass_OrBuilder(
int index) {
return class__.get(index);
}
private void initFields() {
strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
class__ = java.util.Collections.emptyList();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
if (hasQualifiedNames()) {
if (!getQualifiedNames().isInitialized()) {
memoizedIsInitialized = 0;
return false;
}
}
if (hasPackage()) {
if (!getPackage().isInitialized()) {
memoizedIsInitialized = 0;
return false;
}
}
for (int i = 0; i < getClass_Count(); i++) {
if (!getClass_(i).isInitialized()) {
memoizedIsInitialized = 0;
return false;
}
}
memoizedIsInitialized = 1;
return true;
}
public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeMessage(1, strings_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeMessage(2, qualifiedNames_);
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
output.writeMessage(3, package_);
}
for (int i = 0; i < class__.size(); i++) {
output.writeMessage(4, class__.get(i));
}
output.writeRawBytes(unknownFields);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(1, strings_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(2, qualifiedNames_);
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(3, package_);
}
for (int i = 0; i < class__.size(); i++) {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(4, class__.get(i));
}
size += unknownFields.size();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
org.jetbrains.kotlin.protobuf.ByteString data)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
org.jetbrains.kotlin.protobuf.ByteString data,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(byte[] data)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
byte[] data,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
java.io.InputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseDelimitedFrom(
java.io.InputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
org.jetbrains.kotlin.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parseFrom(
org.jetbrains.kotlin.protobuf.CodedInputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
/**
* Protobuf type {@code org.jetbrains.kotlin.serialization.builtins.BuiltIns}
*/
public static final class Builder extends
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns, Builder>
implements
// @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.builtins.BuiltIns)
org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltInsOrBuilder {
// Construct using org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000001);
qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000002);
package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000004);
class__ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns getDefaultInstanceForType() {
return org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns.getDefaultInstance();
}
public org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns build() {
org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns buildPartial() {
org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns result = new org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.strings_ = strings_;
if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
to_bitField0_ |= 0x00000002;
}
result.qualifiedNames_ = qualifiedNames_;
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
to_bitField0_ |= 0x00000004;
}
result.package_ = package_;
if (((bitField0_ & 0x00000008) == 0x00000008)) {
class__ = java.util.Collections.unmodifiableList(class__);
bitField0_ = (bitField0_ & ~0x00000008);
}
result.class__ = class__;
result.bitField0_ = to_bitField0_;
return result;
}
public Builder mergeFrom(org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns other) {
if (other == org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns.getDefaultInstance()) return this;
if (other.hasStrings()) {
mergeStrings(other.getStrings());
}
if (other.hasQualifiedNames()) {
mergeQualifiedNames(other.getQualifiedNames());
}
if (other.hasPackage()) {
mergePackage(other.getPackage());
}
if (!other.class__.isEmpty()) {
if (class__.isEmpty()) {
class__ = other.class__;
bitField0_ = (bitField0_ & ~0x00000008);
} else {
ensureClass_IsMutable();
class__.addAll(other.class__);
}
}
setUnknownFields(
getUnknownFields().concat(other.unknownFields));
return this;
}
public final boolean isInitialized() {
if (hasQualifiedNames()) {
if (!getQualifiedNames().isInitialized()) {
return false;
}
}
if (hasPackage()) {
if (!getPackage().isInitialized()) {
return false;
}
}
for (int i = 0; i < getClass_Count(); i++) {
if (!getClass_(i).isInitialized()) {
return false;
}
}
return true;
}
public Builder mergeFrom(
org.jetbrains.kotlin.protobuf.CodedInputStream input,
org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf.BuiltIns) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
private org.jetbrains.kotlin.serialization.ProtoBuf.StringTable strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public boolean hasStrings() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings() {
return strings_;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public Builder setStrings(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable value) {
if (value == null) {
throw new NullPointerException();
}
strings_ = value;
bitField0_ |= 0x00000001;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public Builder setStrings(
org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.Builder builderForValue) {
strings_ = builderForValue.build();
bitField0_ |= 0x00000001;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public Builder mergeStrings(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable value) {
if (((bitField0_ & 0x00000001) == 0x00000001) &&
strings_ != org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) {
strings_ =
org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder(strings_).mergeFrom(value).buildPartial();
} else {
strings_ = value;
}
bitField0_ |= 0x00000001;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.StringTable strings = 1;</code>
*/
public Builder clearStrings() {
strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000001);
return this;
}
private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public boolean hasQualifiedNames() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames() {
return qualifiedNames_;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public Builder setQualifiedNames(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable value) {
if (value == null) {
throw new NullPointerException();
}
qualifiedNames_ = value;
bitField0_ |= 0x00000002;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public Builder setQualifiedNames(
org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.Builder builderForValue) {
qualifiedNames_ = builderForValue.build();
bitField0_ |= 0x00000002;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public Builder mergeQualifiedNames(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable value) {
if (((bitField0_ & 0x00000002) == 0x00000002) &&
qualifiedNames_ != org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) {
qualifiedNames_ =
org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder(qualifiedNames_).mergeFrom(value).buildPartial();
} else {
qualifiedNames_ = value;
}
bitField0_ |= 0x00000002;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2;</code>
*/
public Builder clearQualifiedNames() {
qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000002);
return this;
}
private org.jetbrains.kotlin.serialization.ProtoBuf.Package package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public boolean hasPackage() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage() {
return package_;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public Builder setPackage(org.jetbrains.kotlin.serialization.ProtoBuf.Package value) {
if (value == null) {
throw new NullPointerException();
}
package_ = value;
bitField0_ |= 0x00000004;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public Builder setPackage(
org.jetbrains.kotlin.serialization.ProtoBuf.Package.Builder builderForValue) {
package_ = builderForValue.build();
bitField0_ |= 0x00000004;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public Builder mergePackage(org.jetbrains.kotlin.serialization.ProtoBuf.Package value) {
if (((bitField0_ & 0x00000004) == 0x00000004) &&
package_ != org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) {
package_ =
org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder(package_).mergeFrom(value).buildPartial();
} else {
package_ = value;
}
bitField0_ |= 0x00000004;
return this;
}
/**
* <code>optional .org.jetbrains.kotlin.serialization.Package package = 3;</code>
*/
public Builder clearPackage() {
package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000004);
return this;
}
private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Class> class__ =
java.util.Collections.emptyList();
private void ensureClass_IsMutable() {
if (!((bitField0_ & 0x00000008) == 0x00000008)) {
class__ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Class>(class__);
bitField0_ |= 0x00000008;
}
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Class> getClass_List() {
return java.util.Collections.unmodifiableList(class__);
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public int getClass_Count() {
return class__.size();
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index) {
return class__.get(index);
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder setClass_(
int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class value) {
if (value == null) {
throw new NullPointerException();
}
ensureClass_IsMutable();
class__.set(index, value);
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder setClass_(
int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) {
ensureClass_IsMutable();
class__.set(index, builderForValue.build());
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder addClass_(org.jetbrains.kotlin.serialization.ProtoBuf.Class value) {
if (value == null) {
throw new NullPointerException();
}
ensureClass_IsMutable();
class__.add(value);
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder addClass_(
int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class value) {
if (value == null) {
throw new NullPointerException();
}
ensureClass_IsMutable();
class__.add(index, value);
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder addClass_(
org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) {
ensureClass_IsMutable();
class__.add(builderForValue.build());
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder addClass_(
int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) {
ensureClass_IsMutable();
class__.add(index, builderForValue.build());
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder addAllClass_(
java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Class> values) {
ensureClass_IsMutable();
org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
values, class__);
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder clearClass_() {
class__ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
/**
* <code>repeated .org.jetbrains.kotlin.serialization.Class class = 4;</code>
*/
public Builder removeClass_(int index) {
ensureClass_IsMutable();
class__.remove(index);
return this;
}
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.builtins.BuiltIns)
}
static {
defaultInstance = new BuiltIns(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.builtins.BuiltIns)
}
public static final int PACKAGE_FQ_NAME_FIELD_NUMBER = 151;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Package { ... }</code>
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.serialization.ClassData
import org.jetbrains.kotlin.serialization.ClassDataWithSource
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope
import org.jetbrains.kotlin.storage.StorageManager
import java.io.InputStream
@@ -114,7 +113,7 @@ class MetadataPackageFragment(
return true
}
private fun readProto(stream: InputStream): Pair<BuiltInsProtoBuf.BuiltIns, NameResolverImpl> {
private fun readProto(stream: InputStream): Pair<ProtoBuf.PackageFragment, NameResolverImpl> {
val version = BuiltInsBinaryVersion.readFrom(stream)
if (!version.isCompatible()) {
@@ -126,7 +125,7 @@ class MetadataPackageFragment(
)
}
val message = BuiltInsProtoBuf.BuiltIns.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
val message = ProtoBuf.PackageFragment.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
val nameResolver = NameResolverImpl(message.strings, message.qualifiedNames)
return Pair(message, nameResolver)
}
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledText
import org.jetbrains.kotlin.idea.decompiler.textBuilder.defaultDecompilerRendererOptions
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.ClassDeserializer
import org.jetbrains.kotlin.serialization.deserialization.MetadataPackageFragment
@@ -94,7 +95,7 @@ fun buildDecompiledTextForBuiltIns(builtInFile: VirtualFile): DecompiledText {
sealed class BuiltInDefinitionFile {
class Incompatible(val version: BuiltInsBinaryVersion) : BuiltInDefinitionFile()
class Compatible(val proto: BuiltInsProtoBuf.BuiltIns,
class Compatible(val proto: ProtoBuf.PackageFragment,
val packageDirectory: VirtualFile,
val isMetadata: Boolean) : BuiltInDefinitionFile() {
val nameResolver = NameResolverImpl(proto.strings, proto.qualifiedNames)
@@ -133,7 +134,7 @@ sealed class BuiltInDefinitionFile {
return BuiltInDefinitionFile.Incompatible(version)
}
val proto = BuiltInsProtoBuf.BuiltIns.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
val proto = ProtoBuf.PackageFragment.parseFrom(stream, BuiltInSerializerProtocol.extensionRegistry)
val result = BuiltInDefinitionFile.Compatible(proto, file.parent, file.extension == MetadataPackageFragment.METADATA_FILE_EXTENSION)
val packageProto = result.proto.`package`
if (result.classesToDecompile.isEmpty() &&
@@ -28,13 +28,13 @@ import org.jetbrains.kotlin.idea.decompiler.textBuilder.ResolveEverythingToKotli
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf
import org.jetbrains.kotlin.serialization.ProtoBuf
import org.jetbrains.kotlin.serialization.deserialization.*
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope
class KotlinBuiltInDeserializerForDecompiler(
packageFqName: FqName,
private val proto: BuiltInsProtoBuf.BuiltIns,
private val proto: ProtoBuf.PackageFragment,
private val nameResolver: NameResolver
) : DeserializerForDecompilerBase(packageFqName) {
override val targetPlatform: TargetPlatform get() = TargetPlatform.Default