From 83e1f6bfdf6a8492cdbd2532324ca34dfa40ce21 Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Thu, 23 Aug 2012 15:25:16 +0300 Subject: [PATCH] methods extracted to decrease method complexity --- .../jet/codegen/ImplementationBodyCodegen.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 697d3501e19..4ec3a77cda7 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -149,6 +149,14 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { ); v.visitSource(myClass.getContainingFile().getName(), null); + writeInnerOuterClasses(); + + AnnotationCodegen.forClass(v.getVisitor(), typeMapper).genAnnotations(descriptor); + + writeClassSignatureIfNeeded(signature); + } + + private void writeInnerOuterClasses() { ClassDescriptor container = getContainingClassDescriptor(descriptor); if (container != null) { v.visitOuterClass(typeMapper.mapType(container.getDefaultType(), MapTypeMode.IMPL).getInternalName(), null, null); @@ -182,9 +190,9 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { v.visitInnerClass(outerClassInernalName + JvmAbi.CLASS_OBJECT_SUFFIX, outerClassInernalName, JvmAbi.CLASS_OBJECT_CLASS_NAME, innerClassAccess); } + } - AnnotationCodegen.forClass(v.getVisitor(), typeMapper).genAnnotations(descriptor); - + 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());