From 15b0d3c7c79af981048bc4032e56240ab0c6a947 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 9 Oct 2015 12:58:49 +0300 Subject: [PATCH] Minor, safer way to avoid storing defaults in proto --- .../serialization/DescriptorSerializer.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java index 376f1c2bb6d..9660b591686 100644 --- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java +++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java @@ -324,14 +324,12 @@ public class DescriptorSerializer { builder.setName(getSimpleNameIndex(typeParameter.getName())); - // to avoid storing a default - if (typeParameter.isReified()) { - builder.setReified(true); + if (typeParameter.isReified() != builder.getReified()) { + builder.setReified(typeParameter.isReified()); } - // to avoid storing a default ProtoBuf.TypeParameter.Variance variance = variance(typeParameter.getVariance()); - if (variance != ProtoBuf.TypeParameter.Variance.INV) { + if (variance != builder.getVariance()) { builder.setVariance(variance); } @@ -383,9 +381,8 @@ public class DescriptorSerializer { builder.addArgument(typeArgument(projection)); } - // to avoid storing a default - if (type.isMarkedNullable()) { - builder.setNullable(true); + if (type.isMarkedNullable() != builder.getNullable()) { + builder.setNullable(type.isMarkedNullable()); } extension.serializeType(type, builder); @@ -403,8 +400,7 @@ public class DescriptorSerializer { else { ProtoBuf.Type.Argument.Projection projection = projection(typeProjection.getProjectionKind()); - // to avoid storing a default - if (projection != ProtoBuf.Type.Argument.Projection.INV) { + if (projection != builder.getProjection()) { builder.setProjection(projection); } builder.setType(type(typeProjection.getType()));