Added JetMethod.flags() to replace kind(), with adding extra functionality (modality and visibility marking).

This commit is contained in:
Evgeny Gerashchenko
2012-06-08 18:42:42 +04:00
parent e8c5677592
commit 12893cec54
8 changed files with 37 additions and 24 deletions
@@ -136,7 +136,7 @@ public class FunctionCodegen {
throw new IllegalStateException();
}
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
aw.writeKind(JvmStdlibNames.JET_METHOD_KIND_REGULAR);
aw.writeFlags(JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT);
aw.writeNullableReturnType(functionDescriptor.getReturnType().isNullable());
aw.writeTypeParameters(jvmSignature.getKotlinTypeParameter());
aw.writeReturnType(jvmSignature.getKotlinReturnType());
@@ -221,7 +221,7 @@ public class PropertyCodegen {
public static void generateJetPropertyAnnotation(MethodVisitor mv, @NotNull String kotlinType, @NotNull String typeParameters) {
JetMethodAnnotationWriter aw = JetMethodAnnotationWriter.visitAnnotation(mv);
aw.writeKind(JvmStdlibNames.JET_METHOD_KIND_PROPERTY);
aw.writeFlags(JvmStdlibNames.JET_METHOD_FLAG_PROPERTY);
aw.writeTypeParameters(typeParameters);
aw.writePropertyType(kotlinType);
aw.visitEnd();
@@ -31,9 +31,9 @@ public class JetMethodAnnotationWriter {
this.av = av;
}
public void writeKind(int kind) {
if (kind != JvmStdlibNames.JET_METHOD_KIND_DEFAULT) {
av.visit(JvmStdlibNames.JET_METHOD_KIND_FIELD, kind);
public void writeFlags(int flags) {
if (flags != JvmStdlibNames.JET_METHOD_FLAGS_DEFAULT) {
av.visit(JvmStdlibNames.JET_METHOD_FLAGS_FIELD, flags);
}
}