Don't write default upper bound for type parameters in protobuf
This commit is contained in:
+6
-5
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.serialization;
|
package org.jetbrains.kotlin.serialization;
|
||||||
|
|
||||||
import com.google.protobuf.MessageLite;
|
import com.google.protobuf.MessageLite;
|
||||||
|
import kotlin.KotlinPackage;
|
||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
@@ -34,10 +35,7 @@ import org.jetbrains.kotlin.utils.UtilsPackage;
|
|||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry;
|
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry;
|
||||||
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getSecondaryConstructors;
|
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getSecondaryConstructors;
|
||||||
@@ -320,7 +318,10 @@ public class DescriptorSerializer {
|
|||||||
builder.setVariance(variance);
|
builder.setVariance(variance);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (JetType upperBound : typeParameter.getUpperBounds()) {
|
Set<JetType> upperBounds = typeParameter.getUpperBounds();
|
||||||
|
if (upperBounds.size() == 1 && KotlinBuiltIns.isDefaultBound(KotlinPackage.single(upperBounds))) return builder;
|
||||||
|
|
||||||
|
for (JetType upperBound : upperBounds) {
|
||||||
builder.addUpperBound(type(upperBound));
|
builder.addUpperBound(type(upperBound));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user