cleanup
This commit is contained in:
@@ -27,6 +27,7 @@ import org.jetbrains.asm4.commons.InstructionAdapter;
|
|||||||
import org.jetbrains.asm4.commons.Method;
|
import org.jetbrains.asm4.commons.Method;
|
||||||
import org.jetbrains.jet.codegen.context.CodegenContext;
|
import org.jetbrains.jet.codegen.context.CodegenContext;
|
||||||
import org.jetbrains.jet.codegen.context.MethodContext;
|
import org.jetbrains.jet.codegen.context.MethodContext;
|
||||||
|
import org.jetbrains.jet.codegen.signature.JvmMethodParameterSignature;
|
||||||
import org.jetbrains.jet.codegen.signature.JvmMethodSignature;
|
import org.jetbrains.jet.codegen.signature.JvmMethodSignature;
|
||||||
import org.jetbrains.jet.codegen.signature.kotlin.JetMethodAnnotationWriter;
|
import org.jetbrains.jet.codegen.signature.kotlin.JetMethodAnnotationWriter;
|
||||||
import org.jetbrains.jet.codegen.signature.kotlin.JetValueParameterAnnotationWriter;
|
import org.jetbrains.jet.codegen.signature.kotlin.JetValueParameterAnnotationWriter;
|
||||||
@@ -301,10 +302,10 @@ public class FunctionCodegen extends GenerationStateAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void genJetAnnotations(
|
public static void genJetAnnotations(
|
||||||
GenerationState state,
|
@NotNull GenerationState state,
|
||||||
FunctionDescriptor functionDescriptor,
|
@NotNull FunctionDescriptor functionDescriptor,
|
||||||
JvmMethodSignature jvmSignature,
|
@NotNull JvmMethodSignature jvmSignature,
|
||||||
String propertyTypeSignature,
|
@Nullable String propertyTypeSignature,
|
||||||
MethodVisitor mv
|
MethodVisitor mv
|
||||||
) {
|
) {
|
||||||
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
|
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
|
||||||
@@ -313,6 +314,7 @@ public class FunctionCodegen extends GenerationStateAware {
|
|||||||
|
|
||||||
int start = 0;
|
int start = 0;
|
||||||
if (functionDescriptor instanceof PropertyAccessorDescriptor) {
|
if (functionDescriptor instanceof PropertyAccessorDescriptor) {
|
||||||
|
assert propertyTypeSignature != null;
|
||||||
PropertyCodegen.generateJetPropertyAnnotation(mv, propertyTypeSignature, jvmSignature.getKotlinTypeParameter(),
|
PropertyCodegen.generateJetPropertyAnnotation(mv, propertyTypeSignature, jvmSignature.getKotlinTypeParameter(),
|
||||||
((PropertyAccessorDescriptor) functionDescriptor)
|
((PropertyAccessorDescriptor) functionDescriptor)
|
||||||
.getCorrespondingProperty(),
|
.getCorrespondingProperty(),
|
||||||
@@ -331,6 +333,7 @@ public class FunctionCodegen extends GenerationStateAware {
|
|||||||
}
|
}
|
||||||
aw.writeFlags(kotlinFlags);
|
aw.writeFlags(kotlinFlags);
|
||||||
aw.writeKind(DescriptorKindUtils.kindToInt(functionDescriptor.getKind()));
|
aw.writeKind(DescriptorKindUtils.kindToInt(functionDescriptor.getKind()));
|
||||||
|
//noinspection ConstantConditions
|
||||||
aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable());
|
aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable());
|
||||||
aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter());
|
aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter());
|
||||||
aw.writeReturnType(jvmSignature.getKotlinReturnType());
|
aw.writeReturnType(jvmSignature.getKotlinReturnType());
|
||||||
@@ -340,13 +343,16 @@ public class FunctionCodegen extends GenerationStateAware {
|
|||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final List<JvmMethodParameterSignature> kotlinParameterTypes = jvmSignature.getKotlinParameterTypes();
|
||||||
|
assert kotlinParameterTypes != null;
|
||||||
|
|
||||||
if (receiverParameter.exists()) {
|
if (receiverParameter.exists()) {
|
||||||
JetValueParameterAnnotationWriter av = JetValueParameterAnnotationWriter.visitParameterAnnotation(mv, start++);
|
JetValueParameterAnnotationWriter av = JetValueParameterAnnotationWriter.visitParameterAnnotation(mv, start++);
|
||||||
av.writeName("this$receiver");
|
av.writeName("this$receiver");
|
||||||
av.writeNullable(receiverParameter.getType().isNullable());
|
av.writeNullable(receiverParameter.getType().isNullable());
|
||||||
av.writeReceiver();
|
av.writeReceiver();
|
||||||
if (jvmSignature.getKotlinParameterTypes() != null && jvmSignature.getKotlinParameterTypes().get(0) != null) {
|
if (kotlinParameterTypes.get(0) != null) {
|
||||||
av.writeType(jvmSignature.getKotlinParameterTypes().get(0).getKotlinSignature());
|
av.writeType(kotlinParameterTypes.get(0).getKotlinSignature());
|
||||||
}
|
}
|
||||||
av.visitEnd();
|
av.visitEnd();
|
||||||
}
|
}
|
||||||
@@ -357,8 +363,8 @@ public class FunctionCodegen extends GenerationStateAware {
|
|||||||
av.writeName(parameterDescriptor.getName().getName());
|
av.writeName(parameterDescriptor.getName().getName());
|
||||||
av.writeHasDefaultValue(parameterDescriptor.declaresDefaultValue());
|
av.writeHasDefaultValue(parameterDescriptor.declaresDefaultValue());
|
||||||
av.writeNullable(parameterDescriptor.getType().isNullable());
|
av.writeNullable(parameterDescriptor.getType().isNullable());
|
||||||
if (jvmSignature.getKotlinParameterTypes() != null && jvmSignature.getKotlinParameterTypes().get(i) != null) {
|
if (kotlinParameterTypes.get(i) != null) {
|
||||||
av.writeType(jvmSignature.getKotlinParameterTypes().get(i + start).getKotlinSignature());
|
av.writeType(kotlinParameterTypes.get(i + start).getKotlinSignature());
|
||||||
}
|
}
|
||||||
av.visitEnd();
|
av.visitEnd();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user