Restore parameter annotation codegen

It was deleted accidentally during removal of old signatures in 55f9859
This commit is contained in:
Alexander Udalov
2013-07-24 16:19:16 +04:00
committed by Pavel V. Talanov
parent 763572663e
commit d6ca5f9416
@@ -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();