diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java index 8ad5f3b49ec..124933ce773 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java @@ -138,6 +138,8 @@ public class PropertyCodegen { AnnotationCodegen annotationCodegen = AnnotationCodegen.forAnnotationDefaultValue(visitor, typeMapper); annotationCodegen.generateAnnotationDefaultValue(constant, descriptor.getType()); } + + visitor.visitEnd(); } private boolean generateBackingField(@NotNull JetNamedDeclaration p, @NotNull PropertyDescriptor descriptor) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt b/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt index 7b3e52dae3e..224e139681a 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt +++ b/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt @@ -41,6 +41,10 @@ public abstract class SignatureCollectingClassBuilderFactory( return delegate.asBytes((builder as SignatureCollectingClassBuilder)._delegate) } + public override fun asText(builder: ClassBuilder?): String? { + return delegate.asText((builder as SignatureCollectingClassBuilder)._delegate) + } + private inner class SignatureCollectingClassBuilder( private val classCreatedFor: JvmDeclarationOrigin, internal val _delegate: ClassBuilder diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/AnonymousObjectTransformer.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/AnonymousObjectTransformer.java index 137d91d09ff..465a4f7435c 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/AnonymousObjectTransformer.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/AnonymousObjectTransformer.java @@ -190,6 +190,7 @@ public class AnonymousObjectTransformer { InlineResult result = inliner.doInline(resultVisitor, new LocalVarRemapper(parameters, 0), false, LabelOwner.NOT_APPLICABLE); resultVisitor.visitMaxs(-1, -1); + resultVisitor.visitEnd(); return result; } @@ -276,6 +277,7 @@ public class AnonymousObjectTransformer { InlineResult result = inliner.doInline(capturedFieldInitializer, new LocalVarRemapper(constructorParameters, 0), false, LabelOwner.NOT_APPLICABLE); constructorVisitor.visitMaxs(-1, -1); + constructorVisitor.visitEnd(); AsmUtil.genClosureFields(capturedFieldsToGenerate, classBuilder); //TODO for inline method make public class diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/RemapVisitor.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/RemapVisitor.java index 07de6cbcd3b..6aec83525fd 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/RemapVisitor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/RemapVisitor.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.codegen.inline; import org.jetbrains.annotations.NotNull; +import org.jetbrains.org.objectweb.asm.AnnotationVisitor; import org.jetbrains.org.objectweb.asm.Label; import org.jetbrains.org.objectweb.asm.MethodVisitor; import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter; @@ -76,4 +77,30 @@ public class RemapVisitor extends InliningInstructionAdapter { super.visitFieldInsn(opcode, owner, name, desc); } } + + @Override + public AnnotationVisitor visitAnnotationDefault() { + return null; + } + + @Override + public void visitMaxs(int maxStack, int maxLocals) { + + } + + @Override + public void visitEnd() { + + } + + @Override + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return null; + } + + @Override + public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) { + return null; + } + } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java index 248a23d9172..92d410823db 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java @@ -23,6 +23,7 @@ import org.jetbrains.jet.codegen.*; import org.jetbrains.jet.codegen.binding.CodegenBinding; import org.jetbrains.jet.codegen.inline.InlineCodegenUtil; import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods; +import org.jetbrains.jet.codegen.optimization.OptimizationClassBuilderFactory; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ScriptDescriptor; import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder; @@ -152,7 +153,7 @@ public class GenerationState { this.intrinsics = new IntrinsicMethods(); this.classFileFactory = new ClassFileFactory(this, new BuilderFactoryForDuplicateSignatureDiagnostics( - builderFactory, this.bindingContext, diagnostics)); + new OptimizationClassBuilderFactory(builderFactory), this.bindingContext, diagnostics)); this.generateNotNullAssertions = generateNotNullAssertions; this.generateNotNullParamAssertions = generateNotNullParamAssertions;