Don't write default upper bound for type parameters in protobuf

This commit is contained in:
Alexander Udalov
2015-09-23 16:45:51 +03:00
parent 6a8d0fbd75
commit ccf72668e0
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.serialization;
import com.google.protobuf.MessageLite;
import kotlin.KotlinPackage;
import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -34,10 +35,7 @@ import org.jetbrains.kotlin.utils.UtilsPackage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.*;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry;
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getSecondaryConstructors;
@@ -320,7 +318,10 @@ public class DescriptorSerializer {
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));
}