From d6ca5f94163972098049805a1d933483c4c40abd Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 24 Jul 2013 16:19:16 +0400 Subject: [PATCH] Restore parameter annotation codegen It was deleted accidentally during removal of old signatures in 55f9859 --- .../src/org/jetbrains/jet/codegen/FunctionCodegen.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index bd828a9cfd6..4a0985c7ab4 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -118,6 +118,8 @@ public class FunctionCodegen extends GenerationStateAware { AnnotationCodegen.forMethod(mv, typeMapper).genAnnotations(functionDescriptor); if (state.getClassBuilderMode() == ClassBuilderMode.SIGNATURES) return; + generateParameterAnnotations(functionDescriptor, mv); + if (isAbstractMethod(functionDescriptor, methodContext.getContextKind())) return; if (state.getClassBuilderMode() == ClassBuilderMode.STUBS) { @@ -134,6 +136,12 @@ public class FunctionCodegen extends GenerationStateAware { methodContext.recordSyntheticAccessorIfNeeded(functionDescriptor, typeMapper); } + private void generateParameterAnnotations(@NotNull FunctionDescriptor functionDescriptor, @NotNull MethodVisitor mv) { + for (ValueParameterDescriptor parameter : functionDescriptor.getValueParameters()) { + AnnotationCodegen.forParameter(parameter.getIndex(), mv, typeMapper).genAnnotations(parameter); + } + } + @Nullable private Type getThisTypeForFunction(@NotNull FunctionDescriptor functionDescriptor, @NotNull MethodContext context) { ReceiverParameterDescriptor expectedThisObject = functionDescriptor.getExpectedThisObject();