Refactor: use constants instead of string literals
This commit is contained in:
committed by
Alexander Udalov
parent
8dd27aa298
commit
8a508fe938
@@ -227,8 +227,8 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
ClassData data = new ClassData(createNameResolver(serializer.getNameTable()), classProto);
|
||||
|
||||
AnnotationVisitor av = v.getVisitor().visitAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
||||
av.visit("version", JvmAbi.VERSION);
|
||||
AnnotationVisitor array = av.visitArray("data");
|
||||
av.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION);
|
||||
AnnotationVisitor array = av.visitArray(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD);
|
||||
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
||||
array.visit(null, string);
|
||||
}
|
||||
|
||||
@@ -169,8 +169,8 @@ public class NamespaceCodegen extends MemberCodegen {
|
||||
PackageData data = new PackageData(createNameResolver(serializer.getNameTable()), packageProto.build());
|
||||
|
||||
AnnotationVisitor av = v.getClassBuilder().newAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
||||
av.visit("version", JvmAbi.VERSION);
|
||||
AnnotationVisitor array = av.visitArray("data");
|
||||
av.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION);
|
||||
AnnotationVisitor array = av.visitArray(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD);
|
||||
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
||||
array.visit(null, string);
|
||||
}
|
||||
|
||||
@@ -81,15 +81,16 @@ public class JvmStdlibNames {
|
||||
|
||||
public static final String JET_CLASS_SIGNATURE = "signature";
|
||||
|
||||
|
||||
public static final JvmClassName JET_OBJECT = JvmClassName.byFqNameWithoutInnerClasses("jet.JetObject");
|
||||
|
||||
|
||||
public static final JvmClassName ASSERT_INVISIBLE_IN_RESOLVER = JvmClassName.byFqNameWithoutInnerClasses("org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver");
|
||||
|
||||
public static final JvmClassName KOTLIN_SIGNATURE = JvmClassName.byFqNameWithoutInnerClasses("jet.runtime.typeinfo.KotlinSignature");
|
||||
|
||||
public static final String KOTLIN_SIGNATURE_VALUE_METHOD = "value";
|
||||
|
||||
public static final String KOTLIN_INFO_DATA_FIELD = "data";
|
||||
|
||||
private JvmStdlibNames() {
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -212,7 +212,7 @@ public final class DeserializedDescriptorResolver {
|
||||
return new AnnotationVisitor(Opcodes.ASM4) {
|
||||
@Override
|
||||
public void visit(String name, Object value) {
|
||||
if (name.equals("version")) {
|
||||
if (name.equals(JvmStdlibNames.ABI_VERSION_NAME)) {
|
||||
version = (Integer) value;
|
||||
}
|
||||
else if (isAbiVersionCompatible(version)) {
|
||||
@@ -222,7 +222,7 @@ public final class DeserializedDescriptorResolver {
|
||||
|
||||
@Override
|
||||
public AnnotationVisitor visitArray(String name) {
|
||||
if (name.equals("data")) {
|
||||
if (name.equals(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD)) {
|
||||
return stringArrayVisitor();
|
||||
}
|
||||
else if (isAbiVersionCompatible(version)) {
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface KotlinInfo {
|
||||
int version();
|
||||
int abiVersion();
|
||||
|
||||
String[] data();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user