IrStatementOrigin support in newly introduced IrDelegatedPropertyReference

This commit is contained in:
Alexander Gorshenev
2019-04-24 19:23:37 +03:00
committed by alexander-gorshenev
parent 19bd01cc8a
commit 85f85fb3e8
4 changed files with 136 additions and 1 deletions
@@ -258,6 +258,7 @@ message IrLocalDelegatedPropertyReference {
optional IrSymbol getter = 2;
optional IrSymbol setter = 3;
required IrSymbol symbol = 4;
required IrStatementOrigin origin = 5;
}
message IrPropertyReference {
@@ -427,12 +427,15 @@ abstract class IrModuleDeserializer(
val getter = deserializeIrSymbol(proto.getter) as IrSimpleFunctionSymbol
val setter = if (proto.hasSetter()) deserializeIrSymbol(proto.setter) as IrSimpleFunctionSymbol else null
val symbol = deserializeIrSymbol(proto.symbol) as IrLocalDelegatedPropertySymbol
val origin = deserializeIrStatementOrigin(proto.origin)
return IrLocalDelegatedPropertyReferenceImpl(
start, end, type,
symbol,
delegate,
getter,
setter
setter,
origin
)
}
@@ -430,6 +430,7 @@ open class IrModuleSerializer(
.setDelegate(serializeIrSymbol(callable.delegate))
.setGetter(serializeIrSymbol(callable.getter))
.setSymbol(serializeIrSymbol(callable.symbol))
.setOrigin(serializeIrStatementOrigin(callable.origin))
callable.setter?.let { proto.setSetter(serializeIrSymbol(it)) }
@@ -19677,6 +19677,10 @@ public final class KotlinIr {
memoizedIsInitialized = 0;
return false;
}
if (!getOrigin().isInitialized()) {
memoizedIsInitialized = 0;
return false;
}
memoizedIsInitialized = 1;
return true;
}
@@ -19894,6 +19898,10 @@ public final class KotlinIr {
return false;
}
if (!getOrigin().isInitialized()) {
return false;
}
return true;
}
@@ -20146,6 +20154,15 @@ public final class KotlinIr {
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrSymbol symbol = 4;</code>
*/
org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol getSymbol();
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
boolean hasOrigin();
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin getOrigin();
}
/**
* Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.IrLocalDelegatedPropertyReference}
@@ -20249,6 +20266,19 @@ public final class KotlinIr {
bitField0_ |= 0x00000008;
break;
}
case 42: {
org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.Builder subBuilder = null;
if (((bitField0_ & 0x00000010) == 0x00000010)) {
subBuilder = origin_.toBuilder();
}
origin_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.PARSER, extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(origin_);
origin_ = subBuilder.buildPartial();
}
bitField0_ |= 0x00000010;
break;
}
}
}
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
@@ -20343,11 +20373,27 @@ public final class KotlinIr {
return symbol_;
}
public static final int ORIGIN_FIELD_NUMBER = 5;
private org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin origin_;
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public boolean hasOrigin() {
return ((bitField0_ & 0x00000010) == 0x00000010);
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin getOrigin() {
return origin_;
}
private void initFields() {
delegate_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol.getDefaultInstance();
getter_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol.getDefaultInstance();
setter_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol.getDefaultInstance();
symbol_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol.getDefaultInstance();
origin_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.getDefaultInstance();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@@ -20363,6 +20409,10 @@ public final class KotlinIr {
memoizedIsInitialized = 0;
return false;
}
if (!hasOrigin()) {
memoizedIsInitialized = 0;
return false;
}
if (!getDelegate().isInitialized()) {
memoizedIsInitialized = 0;
return false;
@@ -20402,6 +20452,9 @@ public final class KotlinIr {
if (((bitField0_ & 0x00000008) == 0x00000008)) {
output.writeMessage(4, symbol_);
}
if (((bitField0_ & 0x00000010) == 0x00000010)) {
output.writeMessage(5, origin_);
}
output.writeRawBytes(unknownFields);
}
@@ -20427,6 +20480,10 @@ public final class KotlinIr {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(4, symbol_);
}
if (((bitField0_ & 0x00000010) == 0x00000010)) {
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
.computeMessageSize(5, origin_);
}
size += unknownFields.size();
memoizedSerializedSize = size;
return size;
@@ -20529,6 +20586,8 @@ public final class KotlinIr {
bitField0_ = (bitField0_ & ~0x00000004);
symbol_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrSymbol.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000008);
origin_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000010);
return this;
}
@@ -20568,6 +20627,10 @@ public final class KotlinIr {
to_bitField0_ |= 0x00000008;
}
result.symbol_ = symbol_;
if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
to_bitField0_ |= 0x00000010;
}
result.origin_ = origin_;
result.bitField0_ = to_bitField0_;
return result;
}
@@ -20586,6 +20649,9 @@ public final class KotlinIr {
if (other.hasSymbol()) {
mergeSymbol(other.getSymbol());
}
if (other.hasOrigin()) {
mergeOrigin(other.getOrigin());
}
setUnknownFields(
getUnknownFields().concat(other.unknownFields));
return this;
@@ -20600,6 +20666,10 @@ public final class KotlinIr {
return false;
}
if (!hasOrigin()) {
return false;
}
if (!getDelegate().isInitialized()) {
return false;
@@ -20882,6 +20952,66 @@ public final class KotlinIr {
return this;
}
private org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin origin_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.getDefaultInstance();
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public boolean hasOrigin() {
return ((bitField0_ & 0x00000010) == 0x00000010);
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin getOrigin() {
return origin_;
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public Builder setOrigin(org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin value) {
if (value == null) {
throw new NullPointerException();
}
origin_ = value;
bitField0_ |= 0x00000010;
return this;
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public Builder setOrigin(
org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.Builder builderForValue) {
origin_ = builderForValue.build();
bitField0_ |= 0x00000010;
return this;
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public Builder mergeOrigin(org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin value) {
if (((bitField0_ & 0x00000010) == 0x00000010) &&
origin_ != org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.getDefaultInstance()) {
origin_ =
org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.newBuilder(origin_).mergeFrom(value).buildPartial();
} else {
origin_ = value;
}
bitField0_ |= 0x00000010;
return this;
}
/**
* <code>required .org.jetbrains.kotlin.backend.common.serialization.IrStatementOrigin origin = 5;</code>
*/
public Builder clearOrigin() {
origin_ = org.jetbrains.kotlin.backend.common.serialization.KotlinIr.IrStatementOrigin.getDefaultInstance();
bitField0_ = (bitField0_ & ~0x00000010);
return this;
}
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.IrLocalDelegatedPropertyReference)
}