Serialize flags

This commit is contained in:
Alexey Tsvetkov
2015-10-16 16:18:53 +03:00
parent 8d22aabd9f
commit ea40f8af92
5 changed files with 37 additions and 6 deletions
@@ -212,6 +212,7 @@ public class DescriptorSerializer {
hasAnnotations,
descriptor.getVisibility(),
descriptor.getModality(),
false,
false
);
@@ -284,7 +285,8 @@ public class DescriptorSerializer {
int flags = Flags.getFunctionFlags(
hasAnnotations(descriptor), descriptor.getVisibility(), descriptor.getModality(), descriptor.getKind(),
descriptor.isOperator(), descriptor.isInfix()
descriptor.isOperator(), descriptor.isInfix(), descriptor.isInline(), descriptor.isTailrec(),
descriptor.isExternal()
);
if (flags != builder.getFlags()) {
builder.setFlags(flags);
@@ -356,7 +358,8 @@ public class DescriptorSerializer {
hasAnnotations(accessor),
accessor.getVisibility(),
accessor.getModality(),
!accessor.isDefault()
!accessor.isDefault(),
accessor.isExternal()
);
}
@@ -364,7 +367,8 @@ public class DescriptorSerializer {
private ProtoBuf.ValueParameter.Builder valueParameter(@NotNull ValueParameterDescriptor descriptor) {
ProtoBuf.ValueParameter.Builder builder = ProtoBuf.ValueParameter.newBuilder();
int flags = Flags.getValueParameterFlags(hasAnnotations(descriptor), descriptor.declaresDefaultValue());
int flags = Flags.getValueParameterFlags(hasAnnotations(descriptor), descriptor.declaresDefaultValue(),
descriptor.isCrossinline(), descriptor.isNoinline());
if (flags != builder.getFlags()) {
builder.setFlags(flags);
}