JS: fix inlining in incremental compilation
This commit is contained in:
+541
-196
@@ -99,6 +99,97 @@ public final class DebugJsAstProtoBuf {
|
||||
// @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.ast.SideEffects)
|
||||
}
|
||||
|
||||
/**
|
||||
* Protobuf enum {@code org.jetbrains.kotlin.serialization.js.ast.InlineStrategy}
|
||||
*/
|
||||
public enum InlineStrategy
|
||||
implements org.jetbrains.kotlin.protobuf.ProtocolMessageEnum {
|
||||
/**
|
||||
* <code>AS_FUNCTION = 0;</code>
|
||||
*/
|
||||
AS_FUNCTION(0, 0),
|
||||
/**
|
||||
* <code>IN_PLACE = 1;</code>
|
||||
*/
|
||||
IN_PLACE(1, 1),
|
||||
/**
|
||||
* <code>NOT_INLINE = 2;</code>
|
||||
*/
|
||||
NOT_INLINE(2, 2),
|
||||
;
|
||||
|
||||
/**
|
||||
* <code>AS_FUNCTION = 0;</code>
|
||||
*/
|
||||
public static final int AS_FUNCTION_VALUE = 0;
|
||||
/**
|
||||
* <code>IN_PLACE = 1;</code>
|
||||
*/
|
||||
public static final int IN_PLACE_VALUE = 1;
|
||||
/**
|
||||
* <code>NOT_INLINE = 2;</code>
|
||||
*/
|
||||
public static final int NOT_INLINE_VALUE = 2;
|
||||
|
||||
|
||||
public final int getNumber() { return value; }
|
||||
|
||||
public static InlineStrategy valueOf(int value) {
|
||||
switch (value) {
|
||||
case 0: return AS_FUNCTION;
|
||||
case 1: return IN_PLACE;
|
||||
case 2: return NOT_INLINE;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>
|
||||
internalGetValueMap() {
|
||||
return internalValueMap;
|
||||
}
|
||||
private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>
|
||||
internalValueMap =
|
||||
new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>() {
|
||||
public InlineStrategy findValueByNumber(int number) {
|
||||
return InlineStrategy.valueOf(number);
|
||||
}
|
||||
};
|
||||
|
||||
public final org.jetbrains.kotlin.protobuf.Descriptors.EnumValueDescriptor
|
||||
getValueDescriptor() {
|
||||
return getDescriptor().getValues().get(index);
|
||||
}
|
||||
public final org.jetbrains.kotlin.protobuf.Descriptors.EnumDescriptor
|
||||
getDescriptorForType() {
|
||||
return getDescriptor();
|
||||
}
|
||||
public static final org.jetbrains.kotlin.protobuf.Descriptors.EnumDescriptor
|
||||
getDescriptor() {
|
||||
return org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.getDescriptor().getEnumTypes().get(1);
|
||||
}
|
||||
|
||||
private static final InlineStrategy[] VALUES = values();
|
||||
|
||||
public static InlineStrategy valueOf(
|
||||
org.jetbrains.kotlin.protobuf.Descriptors.EnumValueDescriptor desc) {
|
||||
if (desc.getType() != getDescriptor()) {
|
||||
throw new java.lang.IllegalArgumentException(
|
||||
"EnumValueDescriptor is not for this type.");
|
||||
}
|
||||
return VALUES[desc.getIndex()];
|
||||
}
|
||||
|
||||
private final int index;
|
||||
private final int value;
|
||||
|
||||
private InlineStrategy(int index, int value) {
|
||||
this.index = index;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.ast.InlineStrategy)
|
||||
}
|
||||
|
||||
public interface LocationOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.ast.Location)
|
||||
org.jetbrains.kotlin.protobuf.MessageOrBuilder {
|
||||
@@ -17688,6 +17779,15 @@ public final class DebugJsAstProtoBuf {
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.Expression qualifier = 2;</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.ExpressionOrBuilder getQualifierOrBuilder();
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.NameReference}
|
||||
@@ -17759,6 +17859,17 @@ public final class DebugJsAstProtoBuf {
|
||||
bitField0_ |= 0x00000002;
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFields.mergeVarintField(3, rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -17835,9 +17946,25 @@ public final class DebugJsAstProtoBuf {
|
||||
return qualifier_;
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
nameId_ = 0;
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Expression.getDefaultInstance();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -17868,6 +17995,9 @@ public final class DebugJsAstProtoBuf {
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeMessage(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
getUnknownFields().writeTo(output);
|
||||
}
|
||||
|
||||
@@ -17885,6 +18015,10 @@ public final class DebugJsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += getUnknownFields().getSerializedSize();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -18011,6 +18145,8 @@ public final class DebugJsAstProtoBuf {
|
||||
qualifierBuilder_.clear();
|
||||
}
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -18051,6 +18187,10 @@ public final class DebugJsAstProtoBuf {
|
||||
} else {
|
||||
result.qualifier_ = qualifierBuilder_.build();
|
||||
}
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000004;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
onBuilt();
|
||||
return result;
|
||||
@@ -18073,6 +18213,9 @@ public final class DebugJsAstProtoBuf {
|
||||
if (other.hasQualifier()) {
|
||||
mergeQualifier(other.getQualifier());
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
this.mergeUnknownFields(other.getUnknownFields());
|
||||
return this;
|
||||
}
|
||||
@@ -18258,6 +18401,41 @@ public final class DebugJsAstProtoBuf {
|
||||
return qualifierBuilder_;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.NameReference)
|
||||
}
|
||||
|
||||
@@ -18294,6 +18472,15 @@ public final class DebugJsAstProtoBuf {
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.Expression qualifier = 2;</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.ExpressionOrBuilder getQualifierOrBuilder();
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.PropertyReference}
|
||||
@@ -18365,6 +18552,17 @@ public final class DebugJsAstProtoBuf {
|
||||
bitField0_ |= 0x00000002;
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFields.mergeVarintField(3, rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -18441,9 +18639,25 @@ public final class DebugJsAstProtoBuf {
|
||||
return qualifier_;
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
stringId_ = 0;
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Expression.getDefaultInstance();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -18474,6 +18688,9 @@ public final class DebugJsAstProtoBuf {
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeMessage(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
getUnknownFields().writeTo(output);
|
||||
}
|
||||
|
||||
@@ -18491,6 +18708,10 @@ public final class DebugJsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += getUnknownFields().getSerializedSize();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -18617,6 +18838,8 @@ public final class DebugJsAstProtoBuf {
|
||||
qualifierBuilder_.clear();
|
||||
}
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -18657,6 +18880,10 @@ public final class DebugJsAstProtoBuf {
|
||||
} else {
|
||||
result.qualifier_ = qualifierBuilder_.build();
|
||||
}
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000004;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
onBuilt();
|
||||
return result;
|
||||
@@ -18679,6 +18906,9 @@ public final class DebugJsAstProtoBuf {
|
||||
if (other.hasQualifier()) {
|
||||
mergeQualifier(other.getQualifier());
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
this.mergeUnknownFields(other.getUnknownFields());
|
||||
return this;
|
||||
}
|
||||
@@ -18864,6 +19094,41 @@ public final class DebugJsAstProtoBuf {
|
||||
return qualifierBuilder_;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.PropertyReference)
|
||||
}
|
||||
|
||||
@@ -18915,6 +19180,15 @@ public final class DebugJsAstProtoBuf {
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.ExpressionOrBuilder getArgumentOrBuilder(
|
||||
int index);
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.Invocation}
|
||||
@@ -18989,6 +19263,17 @@ public final class DebugJsAstProtoBuf {
|
||||
argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Expression.PARSER, extensionRegistry));
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFields.mergeVarintField(3, rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000002;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -19088,9 +19373,25 @@ public final class DebugJsAstProtoBuf {
|
||||
return argument_.get(index);
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000002) == 0x00000002);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Expression.getDefaultInstance();
|
||||
argument_ = java.util.Collections.emptyList();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -19125,6 +19426,9 @@ public final class DebugJsAstProtoBuf {
|
||||
for (int i = 0; i < argument_.size(); i++) {
|
||||
output.writeMessage(2, argument_.get(i));
|
||||
}
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
getUnknownFields().writeTo(output);
|
||||
}
|
||||
|
||||
@@ -19142,6 +19446,10 @@ public final class DebugJsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, argument_.get(i));
|
||||
}
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += getUnknownFields().getSerializedSize();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -19273,6 +19581,8 @@ public final class DebugJsAstProtoBuf {
|
||||
} else {
|
||||
argumentBuilder_.clear();
|
||||
}
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -19318,6 +19628,10 @@ public final class DebugJsAstProtoBuf {
|
||||
} else {
|
||||
result.argument_ = argumentBuilder_.build();
|
||||
}
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000002;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
onBuilt();
|
||||
return result;
|
||||
@@ -19363,6 +19677,9 @@ public final class DebugJsAstProtoBuf {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
this.mergeUnknownFields(other.getUnknownFields());
|
||||
return this;
|
||||
}
|
||||
@@ -19760,6 +20077,41 @@ public final class DebugJsAstProtoBuf {
|
||||
return argumentBuilder_;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
onChanged();
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.Invocation)
|
||||
}
|
||||
|
||||
@@ -49675,202 +50027,195 @@ public final class DebugJsAstProtoBuf {
|
||||
"_BIT_OR\020\"\022\017\n\013ASG_BIT_XOR\020#\022\t\n\005COMMA\020$\"\233\002" +
|
||||
"\n\016UnaryOperation\022F\n\007operand\030\001 \002(\01325.org." +
|
||||
"jetbrains.kotlin.serialization.js.ast.Ex" +
|
||||
"pression\022M\n\004type\030\003 \002(\0162?.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.BinaryOperati" +
|
||||
"on.Type\"\231\003\n\004Type\022\007\n\003MUL\020\001\022\007\n\003DIV\020\002\022\007\n\003MO" +
|
||||
"D\020\003\022\007\n\003ADD\020\004\022\007\n\003SUB\020\005\022\007\n\003SHL\020\006\022\007\n\003SHR\020\007\022" +
|
||||
"\010\n\004SHRU\020\010\022\006\n\002LT\020\t\022\007\n\003LTE\020\n\022\006\n\002GT\020\013\022\007\n\003GT" +
|
||||
"E\020\014\022\016\n\nINSTANCEOF\020\r\022\006\n\002IN\020\016\022\006\n\002EQ\020\017\022\007\n\003N" +
|
||||
"EQ\020\020\022\n\n\006REF_EQ\020\021\022\013\n\007REF_NEQ\020\022\022\013\n\007BIT_AND" +
|
||||
"\020\023\022\013\n\007BIT_XOR\020\024\022\n\n\006BIT_OR\020\025\022\007\n\003AND\020\026\022\006\n\002",
|
||||
"OR\020\027\022\007\n\003ASG\020\030\022\013\n\007ASG_ADD\020\031\022\013\n\007ASG_SUB\020\032\022" +
|
||||
"\013\n\007ASG_MUL\020\033\022\013\n\007ASG_DIV\020\034\022\013\n\007ASG_MOD\020\035\022\013" +
|
||||
"\n\007ASG_SHL\020\036\022\013\n\007ASG_SHR\020\037\022\014\n\010ASG_SHRU\020 \022\017" +
|
||||
"\n\013ASG_BIT_AND\020!\022\016\n\nASG_BIT_OR\020\"\022\017\n\013ASG_B" +
|
||||
"IT_XOR\020#\022\t\n\005COMMA\020$\"\233\002\n\016UnaryOperation\022F" +
|
||||
"\n\007operand\030\001 \002(\01325.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.Expression\022L\n\004type\030\002" +
|
||||
" \002(\0162>.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.UnaryOperation.Type\022\017\n\007postfix\030" +
|
||||
"\003 \002(\010\"b\n\004Type\022\013\n\007BIT_NOT\020\001\022\007\n\003DEC\020\002\022\n\n\006D",
|
||||
"ELETE\020\003\022\007\n\003INC\020\004\022\007\n\003NEG\020\005\022\007\n\003POS\020\006\022\007\n\003NO" +
|
||||
"T\020\007\022\n\n\006TYPEOF\020\010\022\010\n\004VOID\020\t\"\375\001\n\013Conditiona" +
|
||||
"l\022N\n\017test_expression\030\001 \002(\01325.org.jetbrai" +
|
||||
"ns.kotlin.serialization.js.ast.Expressio" +
|
||||
"n\022N\n\017then_expression\030\002 \002(\01325.org.jetbrai" +
|
||||
"ns.kotlin.serialization.js.ast.Expressio" +
|
||||
"n\022N\n\017else_expression\030\003 \002(\01325.org.jetbrai" +
|
||||
"ns.kotlin.serialization.js.ast.Expressio" +
|
||||
"n\"\231\001\n\013ArrayAccess\022D\n\005array\030\001 \002(\01325.org.j" +
|
||||
"etbrains.kotlin.serialization.js.ast.Exp",
|
||||
"ression\022D\n\005index\030\002 \002(\01325.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.Expression\"j\n" +
|
||||
"\rNameReference\022\017\n\007name_id\030\001 \002(\005\022H\n\tquali" +
|
||||
"fier\030\002 \001(\01325.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.Expression\"p\n\021PropertyRef" +
|
||||
"erence\022\021\n\tstring_id\030\001 \002(\005\022H\n\tqualifier\030\002" +
|
||||
" \001(\01325.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.Expression\"\237\001\n\nInvocation\022H\n\tqu" +
|
||||
"alifier\030\001 \002(\01325.org.jetbrains.kotlin.ser" +
|
||||
"ialization.js.ast.Expression\022G\n\010argument",
|
||||
"\030\002 \003(\01325.org.jetbrains.kotlin.serializat" +
|
||||
"ion.js.ast.Expression\"\242\001\n\rInstantiation\022" +
|
||||
"H\n\tqualifier\030\001 \002(\01325.org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.Expression\022G\n\010arg" +
|
||||
"ument\030\002 \003(\01325.org.jetbrains.kotlin.seria" +
|
||||
"lization.js.ast.Expression\"\323\013\n\tStatement" +
|
||||
"\022\016\n\006fileId\030\001 \001(\005\022E\n\010location\030\002 \001(\01323.org" +
|
||||
".jetbrains.kotlin.serialization.js.ast.L" +
|
||||
"ocation\022\030\n\tsynthetic\030\003 \001(\010:\005false\022M\n\020ret" +
|
||||
"urn_statement\030\025 \001(\01321.org.jetbrains.kotl",
|
||||
"in.serialization.js.ast.ReturnH\000\022K\n\017thro" +
|
||||
"w_statement\030\026 \001(\01320.org.jetbrains.kotlin" +
|
||||
".serialization.js.ast.ThrowH\000\022K\n\017break_s" +
|
||||
"tatement\030\027 \001(\01320.org.jetbrains.kotlin.se" +
|
||||
"rialization.js.ast.BreakH\000\022Q\n\022continue_s" +
|
||||
"tatement\030\030 \001(\01323.org.jetbrains.kotlin.se" +
|
||||
"rialization.js.ast.ContinueH\000\022G\n\010debugge" +
|
||||
"r\030\031 \001(\01323.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.DebuggerH\000\022T\n\nexpression\030\032 \001" +
|
||||
"(\0132>.org.jetbrains.kotlin.serialization.",
|
||||
"js.ast.ExpressionStatementH\000\022?\n\004vars\030\033 \001" +
|
||||
"(\0132/.org.jetbrains.kotlin.serialization." +
|
||||
"js.ast.VarsH\000\022A\n\005block\030\034 \001(\01320.org.jetbr" +
|
||||
"ains.kotlin.serialization.js.ast.BlockH\000" +
|
||||
"\022N\n\014global_block\030\035 \001(\01326.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.GlobalBlockH\000" +
|
||||
"\022A\n\005label\030\036 \001(\01320.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.LabelH\000\022E\n\014if_statem" +
|
||||
"ent\030\037 \001(\0132-.org.jetbrains.kotlin.seriali" +
|
||||
"zation.js.ast.IfH\000\022M\n\020switch_statement\030 ",
|
||||
" \001(\01321.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.SwitchH\000\022K\n\017while_statement\030! \001" +
|
||||
"(\01320.org.jetbrains.kotlin.serialization." +
|
||||
"js.ast.WhileH\000\022P\n\022do_while_statement\030\" \001" +
|
||||
"(\01322.org.jetbrains.kotlin.serialization." +
|
||||
"js.ast.DoWhileH\000\022G\n\rfor_statement\030# \001(\0132" +
|
||||
"..org.jetbrains.kotlin.serialization.js." +
|
||||
"ast.ForH\000\022L\n\020for_in_statement\030$ \001(\01320.or" +
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"ForInH\000\022G\n\rtry_statement\030% \001(\0132..org.jet",
|
||||
"brains.kotlin.serialization.js.ast.TryH\000" +
|
||||
"\022A\n\005empty\030& \001(\01320.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.EmptyH\000B\013\n\tstatement" +
|
||||
"\"N\n\006Return\022D\n\005value\030\001 \001(\01325.org.jetbrain" +
|
||||
"s.kotlin.serialization.js.ast.Expression" +
|
||||
"\"Q\n\005Throw\022H\n\texception\030\001 \002(\01325.org.jetbr" +
|
||||
"ains.kotlin.serialization.js.ast.Express" +
|
||||
"ion\"\031\n\005Break\022\020\n\010label_id\030\001 \001(\005\"\034\n\010Contin" +
|
||||
"ue\022\020\n\010label_id\030\001 \001(\005\"\n\n\010Debugger\"`\n\023Expr" +
|
||||
"essionStatement\022I\n\nexpression\030\001 \002(\01325.or",
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"Expression\"\215\001\n\004Vars\022N\n\013declaration\030\001 \003(\013" +
|
||||
"pression\022L\n\004type\030\002 \002(\0162>.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.UnaryOperatio" +
|
||||
"n.Type\022\017\n\007postfix\030\003 \002(\010\"b\n\004Type\022\013\n\007BIT_N" +
|
||||
"OT\020\001\022\007\n\003DEC\020\002\022\n\n\006DELETE\020\003\022\007\n\003INC\020\004\022\007\n\003NE",
|
||||
"G\020\005\022\007\n\003POS\020\006\022\007\n\003NOT\020\007\022\n\n\006TYPEOF\020\010\022\010\n\004VOI" +
|
||||
"D\020\t\"\375\001\n\013Conditional\022N\n\017test_expression\030\001" +
|
||||
" \002(\01325.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.Expression\022N\n\017then_expression\030\002" +
|
||||
" \002(\01325.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.Expression\022N\n\017else_expression\030\003" +
|
||||
" \002(\01325.org.jetbrains.kotlin.serializatio" +
|
||||
"n.js.ast.Expression\"\231\001\n\013ArrayAccess\022D\n\005a" +
|
||||
"rray\030\001 \002(\01325.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.Expression\022D\n\005index\030\002 \002(\013",
|
||||
"25.org.jetbrains.kotlin.serialization.js" +
|
||||
".ast.Expression\"\312\001\n\rNameReference\022\017\n\007nam" +
|
||||
"e_id\030\001 \002(\005\022H\n\tqualifier\030\002 \001(\01325.org.jetb" +
|
||||
"rains.kotlin.serialization.js.ast.Expres" +
|
||||
"sion\022^\n\017inline_strategy\030\003 \001(\01629.org.jetb" +
|
||||
"rains.kotlin.serialization.js.ast.Inline" +
|
||||
"Strategy:\nNOT_INLINE\"\320\001\n\021PropertyReferen" +
|
||||
"ce\022\021\n\tstring_id\030\001 \002(\005\022H\n\tqualifier\030\002 \001(\013" +
|
||||
"25.org.jetbrains.kotlin.serialization.js" +
|
||||
".ast.Expression\022^\n\017inline_strategy\030\003 \001(\016",
|
||||
"29.org.jetbrains.kotlin.serialization.js" +
|
||||
".ast.VarDeclaration\022\030\n\tmultiline\030\002 \001(\010:\005" +
|
||||
"false\022\033\n\023exported_package_id\030\003 \001(\005\"o\n\016Va" +
|
||||
"rDeclaration\022\017\n\007name_id\030\001 \002(\005\022L\n\rinitial" +
|
||||
"_value\030\002 \001(\01325.org.jetbrains.kotlin.seri" +
|
||||
"alization.js.ast.Expression\"P\n\005Block\022G\n\t" +
|
||||
"statement\030\001 \003(\01324.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.Statement\"V\n\013GlobalB",
|
||||
"lock\022G\n\tstatement\030\001 \003(\01324.org.jetbrains." +
|
||||
"kotlin.serialization.js.ast.Statement\"f\n" +
|
||||
"\005Label\022\016\n\006nameId\030\001 \002(\005\022M\n\017inner_statemen" +
|
||||
"t\030\002 \002(\01324.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.Statement\"\352\001\n\002If\022H\n\tconditio" +
|
||||
"n\030\001 \002(\01325.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.Expression\022L\n\016then_statement" +
|
||||
"\030\002 \002(\01324.org.jetbrains.kotlin.serializat" +
|
||||
"ion.js.ast.Statement\022L\n\016else_statement\030\003" +
|
||||
" \001(\01324.org.jetbrains.kotlin.serializatio",
|
||||
"n.js.ast.Statement\"\232\001\n\006Switch\022I\n\nexpress" +
|
||||
"ion\030\001 \002(\01325.org.jetbrains.kotlin.seriali" +
|
||||
"zation.js.ast.Expression\022E\n\005entry\030\002 \003(\0132" +
|
||||
"6.org.jetbrains.kotlin.serialization.js." +
|
||||
"ast.SwitchEntry\"\234\001\n\013SwitchEntry\022D\n\005label" +
|
||||
"\030\001 \001(\01325.org.jetbrains.kotlin.serializat" +
|
||||
"ion.js.ast.Expression\022G\n\tstatement\030\002 \003(\013" +
|
||||
"24.org.jetbrains.kotlin.serialization.js" +
|
||||
".ast.Statement\"\225\001\n\005While\022H\n\tcondition\030\001 " +
|
||||
"\002(\01325.org.jetbrains.kotlin.serialization",
|
||||
".js.ast.Expression\022B\n\004body\030\002 \002(\01324.org.j" +
|
||||
"etbrains.kotlin.serialization.js.ast.Sta" +
|
||||
"tement\"\227\001\n\007DoWhile\022H\n\tcondition\030\001 \002(\01325." +
|
||||
"org.jetbrains.kotlin.serialization.js.as" +
|
||||
"t.Expression\022B\n\004body\030\002 \002(\01324.org.jetbrai" +
|
||||
"ns.kotlin.serialization.js.ast.Statement" +
|
||||
"\"\277\003\n\003For\022D\n\tvariables\030\001 \001(\0132/.org.jetbra" +
|
||||
"ins.kotlin.serialization.js.ast.VarsH\000\022K" +
|
||||
"\n\nexpression\030\002 \001(\01325.org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.ExpressionH\000\022E\n\005e",
|
||||
"mpty\030\003 \001(\01324.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.EmptyInitH\000\022H\n\tcondition\030" +
|
||||
"\004 \001(\01325.org.jetbrains.kotlin.serializati" +
|
||||
"on.js.ast.Expression\022H\n\tincrement\030\005 \001(\0132" +
|
||||
".ast.InlineStrategy:\nNOT_INLINE\"\377\001\n\nInvo" +
|
||||
"cation\022H\n\tqualifier\030\001 \002(\01325.org.jetbrain" +
|
||||
"s.kotlin.serialization.js.ast.Expression" +
|
||||
"\022G\n\010argument\030\002 \003(\01325.org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.Expression\022^\n\017inl" +
|
||||
"ine_strategy\030\003 \001(\01629.org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.InlineStrategy:\nN" +
|
||||
"OT_INLINE\"\242\001\n\rInstantiation\022H\n\tqualifier" +
|
||||
"\030\001 \002(\01325.org.jetbrains.kotlin.serializat",
|
||||
"ion.js.ast.Expression\022G\n\010argument\030\002 \003(\0132" +
|
||||
"5.org.jetbrains.kotlin.serialization.js." +
|
||||
"ast.Expression\022B\n\004body\030\006 \002(\01324.org.jetbr" +
|
||||
"ains.kotlin.serialization.js.ast.Stateme" +
|
||||
"ntB\006\n\004init\"\013\n\tEmptyInit\"\374\001\n\005ForIn\022\020\n\006nam" +
|
||||
"eId\030\001 \001(\005H\000\022K\n\nexpression\030\002 \001(\01325.org.je" +
|
||||
"tbrains.kotlin.serialization.js.ast.Expr",
|
||||
"essionH\000\022G\n\010iterable\030\003 \002(\01325.org.jetbrai" +
|
||||
"ns.kotlin.serialization.js.ast.Expressio" +
|
||||
"n\022B\n\004body\030\004 \002(\01324.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.StatementB\007\n\005value\"\337" +
|
||||
"\001\n\003Try\022F\n\010tryBlock\030\001 \002(\01324.org.jetbrains" +
|
||||
".kotlin.serialization.js.ast.Statement\022D" +
|
||||
"\n\ncatchBlock\030\002 \001(\01320.org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.Catch\022J\n\014finallyB" +
|
||||
"lock\030\003 \001(\01324.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.Statement\"\224\001\n\005Catch\022G\n\tpa",
|
||||
"rameter\030\001 \002(\01324.org.jetbrains.kotlin.ser" +
|
||||
"ialization.js.ast.Parameter\022B\n\004body\030\002 \002(" +
|
||||
"\01324.org.jetbrains.kotlin.serialization.j" +
|
||||
"s.ast.Statement\"\007\n\005Empty\"\327\005\n\010Fragment\022R\n" +
|
||||
"\017imported_module\030\001 \003(\01329.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.ImportedModul" +
|
||||
"e\022G\n\014import_entry\030\002 \003(\01321.org.jetbrains." +
|
||||
"kotlin.serialization.js.ast.Import\022Q\n\021de" +
|
||||
"claration_block\030\003 \001(\01326.org.jetbrains.ko" +
|
||||
"tlin.serialization.js.ast.GlobalBlock\022L\n",
|
||||
"\014export_block\030\004 \001(\01326.org.jetbrains.kotl" +
|
||||
"in.serialization.js.ast.GlobalBlock\022Q\n\021i" +
|
||||
"nitializer_block\030\005 \001(\01326.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.GlobalBlock\022L" +
|
||||
"\n\014name_binding\030\006 \003(\01326.org.jetbrains.kot" +
|
||||
"lin.serialization.js.ast.NameBinding\022J\n\013" +
|
||||
"class_model\030\007 \003(\01325.org.jetbrains.kotlin" +
|
||||
".serialization.js.ast.ClassModel\022P\n\021modu" +
|
||||
"le_expression\030\010 \003(\01325.org.jetbrains.kotl" +
|
||||
"in.serialization.js.ast.Expression\022N\n\rin",
|
||||
"line_module\030\t \003(\01327.org.jetbrains.kotlin" +
|
||||
".serialization.js.ast.InlineModule\"\224\001\n\016I" +
|
||||
"mportedModule\022\030\n\020external_name_id\030\001 \002(\005\022" +
|
||||
"\030\n\020internal_name_id\030\002 \002(\005\022N\n\017plain_refer" +
|
||||
"ence\030\003 \001(\01325.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.Expression\"i\n\006Import\022\024\n\014s" +
|
||||
"ignature_id\030\001 \002(\005\022I\n\nexpression\030\002 \002(\01325." +
|
||||
"org.jetbrains.kotlin.serialization.js.as" +
|
||||
"t.Expression\"3\n\013NameBinding\022\024\n\014signature" +
|
||||
"_id\030\001 \002(\005\022\016\n\006nameId\030\002 \002(\005\"\214\001\n\nClassModel",
|
||||
"\022\017\n\007name_id\030\001 \002(\005\022\025\n\rsuper_name_id\030\002 \001(\005" +
|
||||
"\022V\n\026post_declaration_block\030\003 \001(\01326.org.j" +
|
||||
"etbrains.kotlin.serialization.js.ast.Glo" +
|
||||
"balBlock\";\n\014InlineModule\022\024\n\014signature_id" +
|
||||
"\030\001 \002(\005\022\025\n\rexpression_id\030\002 \002(\005\"\034\n\013StringT" +
|
||||
"able\022\r\n\005entry\030\001 \003(\t\"K\n\tNameTable\022>\n\005entr" +
|
||||
"y\030\001 \003(\0132/.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.Name\"M\n\004Name\022\021\n\ttemporary\030\001 " +
|
||||
"\002(\010\022\022\n\nidentifier\030\002 \001(\005\022\036\n\026signature_ref" +
|
||||
"erence_id\030\003 \001(\005\"\346\001\n\005Chunk\022L\n\014string_tabl",
|
||||
"e\030\001 \002(\01326.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.StringTable\022H\n\nname_table\030\002 " +
|
||||
"\002(\01324.org.jetbrains.kotlin.serialization" +
|
||||
".js.ast.NameTable\022E\n\010fragment\030\003 \002(\01323.or" +
|
||||
"ast.Expression\"\323\013\n\tStatement\022\016\n\006fileId\030\001" +
|
||||
" \001(\005\022E\n\010location\030\002 \001(\01323.org.jetbrains.k" +
|
||||
"otlin.serialization.js.ast.Location\022\030\n\ts" +
|
||||
"ynthetic\030\003 \001(\010:\005false\022M\n\020return_statemen" +
|
||||
"t\030\025 \001(\01321.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.ReturnH\000\022K\n\017throw_statement\030" +
|
||||
"\026 \001(\01320.org.jetbrains.kotlin.serializati" +
|
||||
"on.js.ast.ThrowH\000\022K\n\017break_statement\030\027 \001",
|
||||
"(\01320.org.jetbrains.kotlin.serialization." +
|
||||
"js.ast.BreakH\000\022Q\n\022continue_statement\030\030 \001" +
|
||||
"(\01323.org.jetbrains.kotlin.serialization." +
|
||||
"js.ast.ContinueH\000\022G\n\010debugger\030\031 \001(\01323.or" +
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"Fragment*@\n\013SideEffects\022\021\n\rAFFECTS_STATE" +
|
||||
"\020\001\022\024\n\020DEPENDS_ON_STATE\020\002\022\010\n\004PURE\020\003B\024B\022De" +
|
||||
"bugJsAstProtoBuf"
|
||||
"DebuggerH\000\022T\n\nexpression\030\032 \001(\0132>.org.jet" +
|
||||
"brains.kotlin.serialization.js.ast.Expre" +
|
||||
"ssionStatementH\000\022?\n\004vars\030\033 \001(\0132/.org.jet" +
|
||||
"brains.kotlin.serialization.js.ast.VarsH" +
|
||||
"\000\022A\n\005block\030\034 \001(\01320.org.jetbrains.kotlin.",
|
||||
"serialization.js.ast.BlockH\000\022N\n\014global_b" +
|
||||
"lock\030\035 \001(\01326.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.GlobalBlockH\000\022A\n\005label\030\036 " +
|
||||
"\001(\01320.org.jetbrains.kotlin.serialization" +
|
||||
".js.ast.LabelH\000\022E\n\014if_statement\030\037 \001(\0132-." +
|
||||
"org.jetbrains.kotlin.serialization.js.as" +
|
||||
"t.IfH\000\022M\n\020switch_statement\030 \001(\01321.org.j" +
|
||||
"etbrains.kotlin.serialization.js.ast.Swi" +
|
||||
"tchH\000\022K\n\017while_statement\030! \001(\01320.org.jet" +
|
||||
"brains.kotlin.serialization.js.ast.While",
|
||||
"H\000\022P\n\022do_while_statement\030\" \001(\01322.org.jet" +
|
||||
"brains.kotlin.serialization.js.ast.DoWhi" +
|
||||
"leH\000\022G\n\rfor_statement\030# \001(\0132..org.jetbra" +
|
||||
"ins.kotlin.serialization.js.ast.ForH\000\022L\n" +
|
||||
"\020for_in_statement\030$ \001(\01320.org.jetbrains." +
|
||||
"kotlin.serialization.js.ast.ForInH\000\022G\n\rt" +
|
||||
"ry_statement\030% \001(\0132..org.jetbrains.kotli" +
|
||||
"n.serialization.js.ast.TryH\000\022A\n\005empty\030& " +
|
||||
"\001(\01320.org.jetbrains.kotlin.serialization" +
|
||||
".js.ast.EmptyH\000B\013\n\tstatement\"N\n\006Return\022D",
|
||||
"\n\005value\030\001 \001(\01325.org.jetbrains.kotlin.ser" +
|
||||
"ialization.js.ast.Expression\"Q\n\005Throw\022H\n" +
|
||||
"\texception\030\001 \002(\01325.org.jetbrains.kotlin." +
|
||||
"serialization.js.ast.Expression\"\031\n\005Break" +
|
||||
"\022\020\n\010label_id\030\001 \001(\005\"\034\n\010Continue\022\020\n\010label_" +
|
||||
"id\030\001 \001(\005\"\n\n\010Debugger\"`\n\023ExpressionStatem" +
|
||||
"ent\022I\n\nexpression\030\001 \002(\01325.org.jetbrains." +
|
||||
"kotlin.serialization.js.ast.Expression\"\215" +
|
||||
"\001\n\004Vars\022N\n\013declaration\030\001 \003(\01329.org.jetbr" +
|
||||
"ains.kotlin.serialization.js.ast.VarDecl",
|
||||
"aration\022\030\n\tmultiline\030\002 \001(\010:\005false\022\033\n\023exp" +
|
||||
"orted_package_id\030\003 \001(\005\"o\n\016VarDeclaration" +
|
||||
"\022\017\n\007name_id\030\001 \002(\005\022L\n\rinitial_value\030\002 \001(\013" +
|
||||
"25.org.jetbrains.kotlin.serialization.js" +
|
||||
".ast.Expression\"P\n\005Block\022G\n\tstatement\030\001 " +
|
||||
"\003(\01324.org.jetbrains.kotlin.serialization" +
|
||||
".js.ast.Statement\"V\n\013GlobalBlock\022G\n\tstat" +
|
||||
"ement\030\001 \003(\01324.org.jetbrains.kotlin.seria" +
|
||||
"lization.js.ast.Statement\"f\n\005Label\022\016\n\006na" +
|
||||
"meId\030\001 \002(\005\022M\n\017inner_statement\030\002 \002(\01324.or",
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"Statement\"\352\001\n\002If\022H\n\tcondition\030\001 \002(\01325.or" +
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"Expression\022L\n\016then_statement\030\002 \002(\01324.org" +
|
||||
".jetbrains.kotlin.serialization.js.ast.S" +
|
||||
"tatement\022L\n\016else_statement\030\003 \001(\01324.org.j" +
|
||||
"etbrains.kotlin.serialization.js.ast.Sta" +
|
||||
"tement\"\232\001\n\006Switch\022I\n\nexpression\030\001 \002(\01325." +
|
||||
"org.jetbrains.kotlin.serialization.js.as" +
|
||||
"t.Expression\022E\n\005entry\030\002 \003(\01326.org.jetbra",
|
||||
"ins.kotlin.serialization.js.ast.SwitchEn" +
|
||||
"try\"\234\001\n\013SwitchEntry\022D\n\005label\030\001 \001(\01325.org" +
|
||||
".jetbrains.kotlin.serialization.js.ast.E" +
|
||||
"xpression\022G\n\tstatement\030\002 \003(\01324.org.jetbr" +
|
||||
"ains.kotlin.serialization.js.ast.Stateme" +
|
||||
"nt\"\225\001\n\005While\022H\n\tcondition\030\001 \002(\01325.org.je" +
|
||||
"tbrains.kotlin.serialization.js.ast.Expr" +
|
||||
"ession\022B\n\004body\030\002 \002(\01324.org.jetbrains.kot" +
|
||||
"lin.serialization.js.ast.Statement\"\227\001\n\007D" +
|
||||
"oWhile\022H\n\tcondition\030\001 \002(\01325.org.jetbrain",
|
||||
"s.kotlin.serialization.js.ast.Expression" +
|
||||
"\022B\n\004body\030\002 \002(\01324.org.jetbrains.kotlin.se" +
|
||||
"rialization.js.ast.Statement\"\277\003\n\003For\022D\n\t" +
|
||||
"variables\030\001 \001(\0132/.org.jetbrains.kotlin.s" +
|
||||
"erialization.js.ast.VarsH\000\022K\n\nexpression" +
|
||||
"\030\002 \001(\01325.org.jetbrains.kotlin.serializat" +
|
||||
"ion.js.ast.ExpressionH\000\022E\n\005empty\030\003 \001(\01324" +
|
||||
".org.jetbrains.kotlin.serialization.js.a" +
|
||||
"st.EmptyInitH\000\022H\n\tcondition\030\004 \001(\01325.org." +
|
||||
"jetbrains.kotlin.serialization.js.ast.Ex",
|
||||
"pression\022H\n\tincrement\030\005 \001(\01325.org.jetbra" +
|
||||
"ins.kotlin.serialization.js.ast.Expressi" +
|
||||
"on\022B\n\004body\030\006 \002(\01324.org.jetbrains.kotlin." +
|
||||
"serialization.js.ast.StatementB\006\n\004init\"\013" +
|
||||
"\n\tEmptyInit\"\374\001\n\005ForIn\022\020\n\006nameId\030\001 \001(\005H\000\022" +
|
||||
"K\n\nexpression\030\002 \001(\01325.org.jetbrains.kotl" +
|
||||
"in.serialization.js.ast.ExpressionH\000\022G\n\010" +
|
||||
"iterable\030\003 \002(\01325.org.jetbrains.kotlin.se" +
|
||||
"rialization.js.ast.Expression\022B\n\004body\030\004 " +
|
||||
"\002(\01324.org.jetbrains.kotlin.serialization",
|
||||
".js.ast.StatementB\007\n\005value\"\337\001\n\003Try\022F\n\010tr" +
|
||||
"yBlock\030\001 \002(\01324.org.jetbrains.kotlin.seri" +
|
||||
"alization.js.ast.Statement\022D\n\ncatchBlock" +
|
||||
"\030\002 \001(\01320.org.jetbrains.kotlin.serializat" +
|
||||
"ion.js.ast.Catch\022J\n\014finallyBlock\030\003 \001(\01324" +
|
||||
".org.jetbrains.kotlin.serialization.js.a" +
|
||||
"st.Statement\"\224\001\n\005Catch\022G\n\tparameter\030\001 \002(" +
|
||||
"\01324.org.jetbrains.kotlin.serialization.j" +
|
||||
"s.ast.Parameter\022B\n\004body\030\002 \002(\01324.org.jetb" +
|
||||
"rains.kotlin.serialization.js.ast.Statem",
|
||||
"ent\"\007\n\005Empty\"\327\005\n\010Fragment\022R\n\017imported_mo" +
|
||||
"dule\030\001 \003(\01329.org.jetbrains.kotlin.serial" +
|
||||
"ization.js.ast.ImportedModule\022G\n\014import_" +
|
||||
"entry\030\002 \003(\01321.org.jetbrains.kotlin.seria" +
|
||||
"lization.js.ast.Import\022Q\n\021declaration_bl" +
|
||||
"ock\030\003 \001(\01326.org.jetbrains.kotlin.seriali" +
|
||||
"zation.js.ast.GlobalBlock\022L\n\014export_bloc" +
|
||||
"k\030\004 \001(\01326.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.GlobalBlock\022Q\n\021initializer_b" +
|
||||
"lock\030\005 \001(\01326.org.jetbrains.kotlin.serial",
|
||||
"ization.js.ast.GlobalBlock\022L\n\014name_bindi" +
|
||||
"ng\030\006 \003(\01326.org.jetbrains.kotlin.serializ" +
|
||||
"ation.js.ast.NameBinding\022J\n\013class_model\030" +
|
||||
"\007 \003(\01325.org.jetbrains.kotlin.serializati" +
|
||||
"on.js.ast.ClassModel\022P\n\021module_expressio" +
|
||||
"n\030\010 \003(\01325.org.jetbrains.kotlin.serializa" +
|
||||
"tion.js.ast.Expression\022N\n\rinline_module\030" +
|
||||
"\t \003(\01327.org.jetbrains.kotlin.serializati" +
|
||||
"on.js.ast.InlineModule\"\224\001\n\016ImportedModul" +
|
||||
"e\022\030\n\020external_name_id\030\001 \002(\005\022\030\n\020internal_",
|
||||
"name_id\030\002 \002(\005\022N\n\017plain_reference\030\003 \001(\01325" +
|
||||
".org.jetbrains.kotlin.serialization.js.a" +
|
||||
"st.Expression\"i\n\006Import\022\024\n\014signature_id\030" +
|
||||
"\001 \002(\005\022I\n\nexpression\030\002 \002(\01325.org.jetbrain" +
|
||||
"s.kotlin.serialization.js.ast.Expression" +
|
||||
"\"3\n\013NameBinding\022\024\n\014signature_id\030\001 \002(\005\022\016\n" +
|
||||
"\006nameId\030\002 \002(\005\"\214\001\n\nClassModel\022\017\n\007name_id\030" +
|
||||
"\001 \002(\005\022\025\n\rsuper_name_id\030\002 \001(\005\022V\n\026post_dec" +
|
||||
"laration_block\030\003 \001(\01326.org.jetbrains.kot" +
|
||||
"lin.serialization.js.ast.GlobalBlock\";\n\014",
|
||||
"InlineModule\022\024\n\014signature_id\030\001 \002(\005\022\025\n\rex" +
|
||||
"pression_id\030\002 \002(\005\"\034\n\013StringTable\022\r\n\005entr" +
|
||||
"y\030\001 \003(\t\"K\n\tNameTable\022>\n\005entry\030\001 \003(\0132/.or" +
|
||||
"g.jetbrains.kotlin.serialization.js.ast." +
|
||||
"Name\"-\n\004Name\022\021\n\ttemporary\030\001 \002(\010\022\022\n\nident" +
|
||||
"ifier\030\002 \001(\005\"\346\001\n\005Chunk\022L\n\014string_table\030\001 " +
|
||||
"\002(\01326.org.jetbrains.kotlin.serialization" +
|
||||
".js.ast.StringTable\022H\n\nname_table\030\002 \002(\0132" +
|
||||
"4.org.jetbrains.kotlin.serialization.js." +
|
||||
"ast.NameTable\022E\n\010fragment\030\003 \002(\01323.org.je",
|
||||
"tbrains.kotlin.serialization.js.ast.Frag" +
|
||||
"ment*@\n\013SideEffects\022\021\n\rAFFECTS_STATE\020\001\022\024" +
|
||||
"\n\020DEPENDS_ON_STATE\020\002\022\010\n\004PURE\020\003*?\n\016Inline" +
|
||||
"Strategy\022\017\n\013AS_FUNCTION\020\000\022\014\n\010IN_PLACE\020\001\022" +
|
||||
"\016\n\nNOT_INLINE\020\002B\024B\022DebugJsAstProtoBuf"
|
||||
};
|
||||
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
|
||||
@@ -50015,19 +50360,19 @@ public final class DebugJsAstProtoBuf {
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_NameReference_fieldAccessorTable = new
|
||||
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_NameReference_descriptor,
|
||||
new java.lang.String[] { "NameId", "Qualifier", });
|
||||
new java.lang.String[] { "NameId", "Qualifier", "InlineStrategy", });
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_PropertyReference_descriptor =
|
||||
getDescriptor().getMessageTypes().get(22);
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_PropertyReference_fieldAccessorTable = new
|
||||
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_PropertyReference_descriptor,
|
||||
new java.lang.String[] { "StringId", "Qualifier", });
|
||||
new java.lang.String[] { "StringId", "Qualifier", "InlineStrategy", });
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_Invocation_descriptor =
|
||||
getDescriptor().getMessageTypes().get(23);
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_Invocation_fieldAccessorTable = new
|
||||
org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable(
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_Invocation_descriptor,
|
||||
new java.lang.String[] { "Qualifier", "Argument", });
|
||||
new java.lang.String[] { "Qualifier", "Argument", "InlineStrategy", });
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_Instantiation_descriptor =
|
||||
getDescriptor().getMessageTypes().get(24);
|
||||
internal_static_org_jetbrains_kotlin_serialization_js_ast_Instantiation_fieldAccessorTable = new
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.js.backend.ast
|
||||
|
||||
class JsImportedModule(val externalName: String, val internalName: JsName, val plainReference: JsExpression?) {
|
||||
class JsImportedModule(val externalName: String, var internalName: JsName, val plainReference: JsExpression?) {
|
||||
val key = JsImportedModuleKey(externalName, plainReference?.toString())
|
||||
}
|
||||
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
package org.jetbrains.kotlin.js.backend.ast
|
||||
|
||||
class JsNameBinding(val key: String, val name: JsName)
|
||||
class JsNameBinding(val key: String, var name: JsName)
|
||||
@@ -210,16 +210,19 @@ message ArrayAccess {
|
||||
message NameReference {
|
||||
required int32 name_id = 1;
|
||||
optional Expression qualifier = 2;
|
||||
optional InlineStrategy inline_strategy = 3 [default=NOT_INLINE];
|
||||
}
|
||||
|
||||
message PropertyReference {
|
||||
required int32 string_id = 1;
|
||||
optional Expression qualifier = 2;
|
||||
optional InlineStrategy inline_strategy = 3 [default=NOT_INLINE];
|
||||
}
|
||||
|
||||
message Invocation {
|
||||
required Expression qualifier = 1;
|
||||
repeated Expression argument = 2;
|
||||
optional InlineStrategy inline_strategy = 3 [default=NOT_INLINE];
|
||||
}
|
||||
|
||||
message Instantiation {
|
||||
@@ -368,6 +371,12 @@ message Catch {
|
||||
message Empty {
|
||||
}
|
||||
|
||||
enum InlineStrategy {
|
||||
AS_FUNCTION = 0;
|
||||
IN_PLACE = 1;
|
||||
NOT_INLINE = 2;
|
||||
}
|
||||
|
||||
|
||||
// Fragment
|
||||
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ object KotlinJavascriptSerializationUtil {
|
||||
module: ModuleDescriptor,
|
||||
configuration: DeserializationConfiguration
|
||||
): PackageFragmentProvider {
|
||||
val scopeProto = metadata.map { JsProtoBuf.Library.Part.parseFrom(it) }
|
||||
val scopeProto = metadata.map { JsProtoBuf.Library.Part.parseFrom(it, JsSerializerProtocol.extensionRegistry) }
|
||||
return createKotlinJavascriptPackageFragmentProvider(storageManager, module, scopeProto, configuration)
|
||||
}
|
||||
|
||||
|
||||
+23
-3
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.serialization.js.ast
|
||||
import org.jetbrains.kotlin.js.backend.ast.*
|
||||
import org.jetbrains.kotlin.js.backend.ast.metadata.*
|
||||
import org.jetbrains.kotlin.protobuf.CodedInputStream
|
||||
import org.jetbrains.kotlin.resolve.inline.InlineStrategy as KotlinInlineStrategy
|
||||
import org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.*
|
||||
import org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.ExpressionCase
|
||||
import org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Statement.StatementCase
|
||||
@@ -341,13 +342,22 @@ class JsAstDeserializer(private val program: JsProgram) {
|
||||
|
||||
ExpressionCase.NAME_REFERENCE -> {
|
||||
val nameRefProto = proto.nameReference
|
||||
JsNameRef(deserializeName(nameRefProto.nameId), if (nameRefProto.hasQualifier()) deserialize(nameRefProto.qualifier) else null)
|
||||
val qualifier = if (nameRefProto.hasQualifier()) deserialize(nameRefProto.qualifier) else null
|
||||
JsNameRef(deserializeName(nameRefProto.nameId), qualifier).apply {
|
||||
if (nameRefProto.hasInlineStrategy()) {
|
||||
inlineStrategy = map(nameRefProto.inlineStrategy)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ExpressionCase.PROPERTY_REFERENCE -> {
|
||||
val propertyRefProto = proto.propertyReference
|
||||
val qualifier = if (propertyRefProto.hasQualifier()) deserialize(propertyRefProto.qualifier) else null
|
||||
JsNameRef(deserializeString(propertyRefProto.stringId), qualifier)
|
||||
JsNameRef(deserializeString(propertyRefProto.stringId), qualifier).apply {
|
||||
if (propertyRefProto.hasInlineStrategy()) {
|
||||
inlineStrategy = map(propertyRefProto.inlineStrategy)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ExpressionCase.INVOCATION -> {
|
||||
@@ -355,7 +365,11 @@ class JsAstDeserializer(private val program: JsProgram) {
|
||||
JsInvocation(
|
||||
deserialize(invocationProto.qualifier),
|
||||
invocationProto.argumentList.map { deserialize(it) }
|
||||
)
|
||||
).apply {
|
||||
if (invocationProto.hasInlineStrategy()) {
|
||||
inlineStrategy = map(invocationProto.inlineStrategy)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ExpressionCase.INSTANTIATION -> {
|
||||
@@ -466,6 +480,12 @@ class JsAstDeserializer(private val program: JsProgram) {
|
||||
SideEffects.PURE -> SideEffectKind.PURE
|
||||
}
|
||||
|
||||
private fun map(inlineStrategy: InlineStrategy) = when(inlineStrategy) {
|
||||
InlineStrategy.AS_FUNCTION -> KotlinInlineStrategy.AS_FUNCTION
|
||||
InlineStrategy.IN_PLACE -> KotlinInlineStrategy.IN_PLACE
|
||||
InlineStrategy.NOT_INLINE -> KotlinInlineStrategy.NOT_INLINE
|
||||
}
|
||||
|
||||
private fun <T : JsNode> withLocation(fileId: Int?, location: Location?, action: () -> T): T {
|
||||
val lastLocation = locationStack.peek()
|
||||
val deserializedLocation = if (fileId != null || location != null) {
|
||||
|
||||
@@ -73,6 +73,71 @@ public final class JsAstProtoBuf {
|
||||
// @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.ast.SideEffects)
|
||||
}
|
||||
|
||||
/**
|
||||
* Protobuf enum {@code org.jetbrains.kotlin.serialization.js.ast.InlineStrategy}
|
||||
*/
|
||||
public enum InlineStrategy
|
||||
implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
|
||||
/**
|
||||
* <code>AS_FUNCTION = 0;</code>
|
||||
*/
|
||||
AS_FUNCTION(0, 0),
|
||||
/**
|
||||
* <code>IN_PLACE = 1;</code>
|
||||
*/
|
||||
IN_PLACE(1, 1),
|
||||
/**
|
||||
* <code>NOT_INLINE = 2;</code>
|
||||
*/
|
||||
NOT_INLINE(2, 2),
|
||||
;
|
||||
|
||||
/**
|
||||
* <code>AS_FUNCTION = 0;</code>
|
||||
*/
|
||||
public static final int AS_FUNCTION_VALUE = 0;
|
||||
/**
|
||||
* <code>IN_PLACE = 1;</code>
|
||||
*/
|
||||
public static final int IN_PLACE_VALUE = 1;
|
||||
/**
|
||||
* <code>NOT_INLINE = 2;</code>
|
||||
*/
|
||||
public static final int NOT_INLINE_VALUE = 2;
|
||||
|
||||
|
||||
public final int getNumber() { return value; }
|
||||
|
||||
public static InlineStrategy valueOf(int value) {
|
||||
switch (value) {
|
||||
case 0: return AS_FUNCTION;
|
||||
case 1: return IN_PLACE;
|
||||
case 2: return NOT_INLINE;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>
|
||||
internalGetValueMap() {
|
||||
return internalValueMap;
|
||||
}
|
||||
private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>
|
||||
internalValueMap =
|
||||
new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<InlineStrategy>() {
|
||||
public InlineStrategy findValueByNumber(int number) {
|
||||
return InlineStrategy.valueOf(number);
|
||||
}
|
||||
};
|
||||
|
||||
private final int value;
|
||||
|
||||
private InlineStrategy(int index, int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.ast.InlineStrategy)
|
||||
}
|
||||
|
||||
public interface LocationOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.ast.Location)
|
||||
org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
|
||||
@@ -13314,6 +13379,15 @@ public final class JsAstProtoBuf {
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.Expression qualifier = 2;</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression getQualifier();
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.NameReference}
|
||||
@@ -13383,6 +13457,18 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ |= 0x00000002;
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFieldsCodedOutput.writeRawVarint32(tag);
|
||||
unknownFieldsCodedOutput.writeRawVarint32(rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -13447,9 +13533,25 @@ public final class JsAstProtoBuf {
|
||||
return qualifier_;
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
nameId_ = 0;
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -13480,6 +13582,9 @@ public final class JsAstProtoBuf {
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeMessage(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
output.writeRawBytes(unknownFields);
|
||||
}
|
||||
|
||||
@@ -13497,6 +13602,10 @@ public final class JsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += unknownFields.size();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -13595,6 +13704,8 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ = (bitField0_ & ~0x00000001);
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance();
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -13626,6 +13737,10 @@ public final class JsAstProtoBuf {
|
||||
to_bitField0_ |= 0x00000002;
|
||||
}
|
||||
result.qualifier_ = qualifier_;
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000004;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
return result;
|
||||
}
|
||||
@@ -13638,6 +13753,9 @@ public final class JsAstProtoBuf {
|
||||
if (other.hasQualifier()) {
|
||||
mergeQualifier(other.getQualifier());
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
setUnknownFields(
|
||||
getUnknownFields().concat(other.unknownFields));
|
||||
return this;
|
||||
@@ -13768,6 +13886,41 @@ public final class JsAstProtoBuf {
|
||||
return this;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.NameReference)
|
||||
}
|
||||
|
||||
@@ -13800,6 +13953,15 @@ public final class JsAstProtoBuf {
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.Expression qualifier = 2;</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression getQualifier();
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.PropertyReference}
|
||||
@@ -13869,6 +14031,18 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ |= 0x00000002;
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFieldsCodedOutput.writeRawVarint32(tag);
|
||||
unknownFieldsCodedOutput.writeRawVarint32(rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -13933,9 +14107,25 @@ public final class JsAstProtoBuf {
|
||||
return qualifier_;
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
stringId_ = 0;
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -13966,6 +14156,9 @@ public final class JsAstProtoBuf {
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeMessage(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
output.writeRawBytes(unknownFields);
|
||||
}
|
||||
|
||||
@@ -13983,6 +14176,10 @@ public final class JsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, qualifier_);
|
||||
}
|
||||
if (((bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += unknownFields.size();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -14081,6 +14278,8 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ = (bitField0_ & ~0x00000001);
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance();
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -14112,6 +14311,10 @@ public final class JsAstProtoBuf {
|
||||
to_bitField0_ |= 0x00000002;
|
||||
}
|
||||
result.qualifier_ = qualifier_;
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000004;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
return result;
|
||||
}
|
||||
@@ -14124,6 +14327,9 @@ public final class JsAstProtoBuf {
|
||||
if (other.hasQualifier()) {
|
||||
mergeQualifier(other.getQualifier());
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
setUnknownFields(
|
||||
getUnknownFields().concat(other.unknownFields));
|
||||
return this;
|
||||
@@ -14254,6 +14460,41 @@ public final class JsAstProtoBuf {
|
||||
return this;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.PropertyReference)
|
||||
}
|
||||
|
||||
@@ -14291,6 +14532,15 @@ public final class JsAstProtoBuf {
|
||||
* <code>repeated .org.jetbrains.kotlin.serialization.js.ast.Expression argument = 2;</code>
|
||||
*/
|
||||
int getArgumentCount();
|
||||
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
boolean hasInlineStrategy();
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy();
|
||||
}
|
||||
/**
|
||||
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.Invocation}
|
||||
@@ -14363,6 +14613,18 @@ public final class JsAstProtoBuf {
|
||||
argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.PARSER, extensionRegistry));
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
int rawValue = input.readEnum();
|
||||
org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.valueOf(rawValue);
|
||||
if (value == null) {
|
||||
unknownFieldsCodedOutput.writeRawVarint32(tag);
|
||||
unknownFieldsCodedOutput.writeRawVarint32(rawValue);
|
||||
} else {
|
||||
bitField0_ |= 0x00000002;
|
||||
inlineStrategy_ = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
|
||||
@@ -14450,9 +14712,25 @@ public final class JsAstProtoBuf {
|
||||
return argument_.get(index);
|
||||
}
|
||||
|
||||
public static final int INLINE_STRATEGY_FIELD_NUMBER = 3;
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000002) == 0x00000002);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
|
||||
private void initFields() {
|
||||
qualifier_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance();
|
||||
argument_ = java.util.Collections.emptyList();
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
}
|
||||
private byte memoizedIsInitialized = -1;
|
||||
public final boolean isInitialized() {
|
||||
@@ -14487,6 +14765,9 @@ public final class JsAstProtoBuf {
|
||||
for (int i = 0; i < argument_.size(); i++) {
|
||||
output.writeMessage(2, argument_.get(i));
|
||||
}
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
output.writeEnum(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
output.writeRawBytes(unknownFields);
|
||||
}
|
||||
|
||||
@@ -14504,6 +14785,10 @@ public final class JsAstProtoBuf {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeMessageSize(2, argument_.get(i));
|
||||
}
|
||||
if (((bitField0_ & 0x00000002) == 0x00000002)) {
|
||||
size += org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
.computeEnumSize(3, inlineStrategy_.getNumber());
|
||||
}
|
||||
size += unknownFields.size();
|
||||
memoizedSerializedSize = size;
|
||||
return size;
|
||||
@@ -14602,6 +14887,8 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ = (bitField0_ & ~0x00000001);
|
||||
argument_ = java.util.Collections.emptyList();
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -14634,6 +14921,10 @@ public final class JsAstProtoBuf {
|
||||
bitField0_ = (bitField0_ & ~0x00000002);
|
||||
}
|
||||
result.argument_ = argument_;
|
||||
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
|
||||
to_bitField0_ |= 0x00000002;
|
||||
}
|
||||
result.inlineStrategy_ = inlineStrategy_;
|
||||
result.bitField0_ = to_bitField0_;
|
||||
return result;
|
||||
}
|
||||
@@ -14653,6 +14944,9 @@ public final class JsAstProtoBuf {
|
||||
}
|
||||
|
||||
}
|
||||
if (other.hasInlineStrategy()) {
|
||||
setInlineStrategy(other.getInlineStrategy());
|
||||
}
|
||||
setUnknownFields(
|
||||
getUnknownFields().concat(other.unknownFields));
|
||||
return this;
|
||||
@@ -14880,6 +15174,41 @@ public final class JsAstProtoBuf {
|
||||
return this;
|
||||
}
|
||||
|
||||
private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public boolean hasInlineStrategy() {
|
||||
return ((bitField0_ & 0x00000004) == 0x00000004);
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy getInlineStrategy() {
|
||||
return inlineStrategy_;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder setInlineStrategy(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy value) {
|
||||
if (value == null) {
|
||||
throw new NullPointerException();
|
||||
}
|
||||
bitField0_ |= 0x00000004;
|
||||
inlineStrategy_ = value;
|
||||
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>optional .org.jetbrains.kotlin.serialization.js.ast.InlineStrategy inline_strategy = 3 [default = NOT_INLINE];</code>
|
||||
*/
|
||||
public Builder clearInlineStrategy() {
|
||||
bitField0_ = (bitField0_ & ~0x00000004);
|
||||
inlineStrategy_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.InlineStrategy.NOT_INLINE;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.Invocation)
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.BinaryOperation.T
|
||||
import org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.UnaryOperation.Type.*
|
||||
import java.io.OutputStream
|
||||
import java.util.*
|
||||
import org.jetbrains.kotlin.resolve.inline.InlineStrategy as KotlinInlineStrategy
|
||||
|
||||
class JsAstSerializer {
|
||||
private val nameTableBuilder = NameTable.newBuilder()
|
||||
@@ -385,10 +386,13 @@ class JsAstSerializer {
|
||||
val name = nameRef.name
|
||||
val qualifier = nameRef.qualifier
|
||||
if (name != null) {
|
||||
if (qualifier != null) {
|
||||
if (qualifier != null || (nameRef.inlineStrategy?.isInline ?: false)) {
|
||||
val nameRefBuilder = NameReference.newBuilder()
|
||||
nameRefBuilder.nameId = serialize(name)
|
||||
nameRefBuilder.qualifier = serialize(qualifier)
|
||||
if (qualifier != null) {
|
||||
nameRefBuilder.qualifier = serialize(qualifier)
|
||||
}
|
||||
nameRef.inlineStrategy?.let { nameRefBuilder.inlineStrategy = map(it) }
|
||||
builder.nameReference = nameRefBuilder.build()
|
||||
}
|
||||
else {
|
||||
@@ -399,6 +403,7 @@ class JsAstSerializer {
|
||||
val propertyRefBuilder = PropertyReference.newBuilder()
|
||||
propertyRefBuilder.stringId = serialize(nameRef.ident)
|
||||
qualifier?.let { propertyRefBuilder.qualifier = serialize(it) }
|
||||
nameRef.inlineStrategy?.let { propertyRefBuilder.inlineStrategy = map(it) }
|
||||
builder.propertyReference = propertyRefBuilder.build()
|
||||
}
|
||||
}
|
||||
@@ -407,6 +412,11 @@ class JsAstSerializer {
|
||||
val invocationBuilder = Invocation.newBuilder()
|
||||
invocationBuilder.qualifier = serialize(invocation.qualifier)
|
||||
invocation.arguments.forEach { invocationBuilder.addArgument(serialize(it)) }
|
||||
invocation.inlineStrategy?.let { inlineStrategy ->
|
||||
if (inlineStrategy != KotlinInlineStrategy.NOT_INLINE) {
|
||||
invocationBuilder.inlineStrategy = map(inlineStrategy)
|
||||
}
|
||||
}
|
||||
builder.invocation = invocationBuilder.build()
|
||||
}
|
||||
|
||||
@@ -529,6 +539,12 @@ class JsAstSerializer {
|
||||
SideEffectKind.PURE -> SideEffects.PURE
|
||||
}
|
||||
|
||||
private fun map(inlineStrategy: KotlinInlineStrategy) = when (inlineStrategy) {
|
||||
KotlinInlineStrategy.AS_FUNCTION -> InlineStrategy.AS_FUNCTION
|
||||
KotlinInlineStrategy.IN_PLACE -> InlineStrategy.IN_PLACE
|
||||
KotlinInlineStrategy.NOT_INLINE -> InlineStrategy.NOT_INLINE
|
||||
}
|
||||
|
||||
private fun serialize(name: JsName) = nameMap.getOrPut(name) {
|
||||
val result = nameTableBuilder.entryCount
|
||||
val builder = Name.newBuilder()
|
||||
|
||||
@@ -3443,6 +3443,12 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("js/js.translator/testData/box/incremental"), Pattern.compile("^([^_](.+))\\.kt$"), TargetBackend.JS, true);
|
||||
}
|
||||
|
||||
@TestMetadata("inline.kt")
|
||||
public void testInline() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/incremental/inline.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simple.kt")
|
||||
public void testSimple() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/incremental/simple.kt");
|
||||
|
||||
@@ -44,7 +44,7 @@ class Merger(private val rootFunction: JsFunction, val internalModuleName: JsNam
|
||||
for ((key, importExpr) in fragment.imports) {
|
||||
if (declaredImports.add(key)) {
|
||||
val name = nameTable[key]!!
|
||||
importBlock.statements += JsAstUtils.newVar(nameMap.rename(name), nameMap.rename(importExpr))
|
||||
importBlock.statements += JsAstUtils.newVar(name, importExpr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,12 +52,7 @@ class Merger(private val rootFunction: JsFunction, val internalModuleName: JsNam
|
||||
initializerBlock.statements += fragment.initializerBlock
|
||||
addExportStatements(fragment)
|
||||
|
||||
classes += fragment.classes.values.map { cls ->
|
||||
val name = nameMap.rename(cls.name)
|
||||
name to JsClassModel(name, cls.superName?.let { nameMap.rename(it) }).also { copy ->
|
||||
copy.postDeclarationBlock.statements += cls.postDeclarationBlock.statements.map { nameMap.rename(it) }
|
||||
}
|
||||
}
|
||||
classes += fragment.classes
|
||||
}
|
||||
|
||||
val importedModules: List<JsImportedModule>
|
||||
@@ -113,6 +108,24 @@ class Merger(private val rootFunction: JsFunction, val internalModuleName: JsNam
|
||||
rename(fragment.declarationBlock)
|
||||
rename(fragment.exportBlock)
|
||||
rename(fragment.initializerBlock)
|
||||
|
||||
fragment.nameBindings.forEach { it.name = rename(it.name) }
|
||||
fragment.imports.entries.forEach { it.setValue(rename(it.value)) }
|
||||
|
||||
fragment.importedModules.forEach { import ->
|
||||
import.internalName = rename(import.internalName)
|
||||
import.plainReference?.let { rename(it) }
|
||||
}
|
||||
|
||||
val classes = fragment.classes.values.map { cls ->
|
||||
JsClassModel(rename(cls.name), cls.superName?.let { rename(it) }).apply {
|
||||
postDeclarationBlock.statements += rename(cls.postDeclarationBlock).statements
|
||||
}
|
||||
}
|
||||
fragment.classes.clear()
|
||||
fragment.classes += classes.map { it.name to it }
|
||||
|
||||
fragment.inlineModuleMap.forEach { (_, value) -> rename(value) }
|
||||
}
|
||||
|
||||
private fun <T: JsNode> Map<JsName, JsName>.rename(node: T): T {
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// FILE: a.kt
|
||||
|
||||
private inline fun bar(f: () -> String): String = "bar(${f()})"
|
||||
|
||||
internal inline fun foo(f: () -> String): String = "foo(${bar(f)})"
|
||||
|
||||
inline fun baz(f: () -> String): String = "baz(${f()})"
|
||||
|
||||
// FILE: b.kt
|
||||
// RECOMPILE
|
||||
|
||||
fun box(): String {
|
||||
val result = foo { "O" } + baz { "K" }
|
||||
if (result != "foo(bar(O))baz(K)") return "fail: $result"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user