From c927b691032a0e85b68efface30016555dd85dc6 Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Fri, 16 Jan 2015 18:09:59 +0300 Subject: [PATCH] DescriptorSerializer: add skip argument to packageProto method --- .../kotlin/serialization/DescriptorSerializer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java b/core/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java index 3b80de41d31..62efb6d8edf 100644 --- a/core/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java +++ b/core/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.java @@ -16,7 +16,9 @@ package org.jetbrains.kotlin.serialization; +import kotlin.Function1; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.annotations.Annotated; @@ -379,6 +381,11 @@ public class DescriptorSerializer { @NotNull public ProtoBuf.Package.Builder packageProto(@NotNull Collection fragments) { + return packageProto(fragments, null); + } + + @NotNull + public ProtoBuf.Package.Builder packageProto(@NotNull Collection fragments, @Nullable Function1 skip) { ProtoBuf.Package.Builder builder = ProtoBuf.Package.newBuilder(); Collection members = new ArrayList(); @@ -387,6 +394,8 @@ public class DescriptorSerializer { } for (DeclarationDescriptor declaration : sort(members)) { + if (skip != null && skip.invoke(declaration)) continue; + if (declaration instanceof PropertyDescriptor || declaration instanceof FunctionDescriptor) { builder.addMember(callableProto((CallableMemberDescriptor) declaration)); }