From f84d00eec910b168146b9b6dc26d474d08d17859 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 23 Jan 2013 19:38:06 +0400 Subject: [PATCH] Kotlin classes always have a signature --- .../jet/codegen/ImplementationBodyCodegen.java | 16 +++++++--------- .../codegen/signature/BothSignatureWriter.java | 4 ++-- .../jet/codegen/signature/JvmClassSignature.java | 4 +++- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 28c9d0827a3..71a128f9740 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -232,16 +232,14 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { } private void writeClassSignatureIfNeeded(JvmClassSignature signature) { - if (signature.getKotlinGenericSignature() != null || descriptor.getVisibility() != Visibilities.PUBLIC) { - AnnotationVisitor annotationVisitor = v.newAnnotation(JvmStdlibNames.JET_CLASS.getDescriptor(), true); - annotationVisitor.visit(JvmStdlibNames.JET_CLASS_SIGNATURE, signature.getKotlinGenericSignature()); - int flags = getFlagsForVisibility(descriptor.getVisibility()) | getFlagsForClassKind(descriptor); - if (JvmStdlibNames.FLAGS_DEFAULT_VALUE != flags) { - annotationVisitor.visit(JvmStdlibNames.JET_FLAGS_FIELD, flags); - } - annotationVisitor.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION); - annotationVisitor.visitEnd(); + AnnotationVisitor annotationVisitor = v.newAnnotation(JvmStdlibNames.JET_CLASS.getDescriptor(), true); + annotationVisitor.visit(JvmStdlibNames.JET_CLASS_SIGNATURE, signature.getKotlinGenericSignature()); + int flags = getFlagsForVisibility(descriptor.getVisibility()) | getFlagsForClassKind(descriptor); + if (JvmStdlibNames.FLAGS_DEFAULT_VALUE != flags) { + annotationVisitor.visit(JvmStdlibNames.JET_FLAGS_FIELD, flags); } + annotationVisitor.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION); + annotationVisitor.visitEnd(); } @Nullable diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/signature/BothSignatureWriter.java b/compiler/backend/src/org/jetbrains/jet/codegen/signature/BothSignatureWriter.java index 1d8695017d4..8de7ef55604 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/signature/BothSignatureWriter.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/signature/BothSignatureWriter.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.codegen.signature; +import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.asm4.Type; @@ -34,7 +35,6 @@ import org.jetbrains.jet.rt.signature.JetSignatureWriter; import java.util.ArrayList; import java.util.List; -import com.intellij.util.containers.Stack; public class BothSignatureWriter { @@ -511,7 +511,7 @@ public class BothSignatureWriter { return kotlinClassParameters; } - @Nullable + @NotNull public String makeKotlinClassSignature() { checkState(State.CLASS_END); if (kotlinClassParameters == null) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/signature/JvmClassSignature.java b/compiler/backend/src/org/jetbrains/jet/codegen/signature/JvmClassSignature.java index 66b7bf58029..84cd6922d65 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/signature/JvmClassSignature.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/signature/JvmClassSignature.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.codegen.signature; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -29,7 +30,7 @@ public class JvmClassSignature { public JvmClassSignature( String name, String superclassName, List interfaces, - @Nullable String javaGenericSignature, @Nullable String kotlinGenericSignature + @Nullable String javaGenericSignature, @NotNull String kotlinGenericSignature ) { this.name = name; this.superclassName = superclassName; @@ -54,6 +55,7 @@ public class JvmClassSignature { return javaGenericSignature; } + @NotNull public String getKotlinGenericSignature() { return kotlinGenericSignature; }