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);
|
ClassData data = new ClassData(createNameResolver(serializer.getNameTable()), classProto);
|
||||||
|
|
||||||
AnnotationVisitor av = v.getVisitor().visitAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
AnnotationVisitor av = v.getVisitor().visitAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
||||||
av.visit("version", JvmAbi.VERSION);
|
av.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION);
|
||||||
AnnotationVisitor array = av.visitArray("data");
|
AnnotationVisitor array = av.visitArray(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD);
|
||||||
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
||||||
array.visit(null, string);
|
array.visit(null, string);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,8 +169,8 @@ public class NamespaceCodegen extends MemberCodegen {
|
|||||||
PackageData data = new PackageData(createNameResolver(serializer.getNameTable()), packageProto.build());
|
PackageData data = new PackageData(createNameResolver(serializer.getNameTable()), packageProto.build());
|
||||||
|
|
||||||
AnnotationVisitor av = v.getClassBuilder().newAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
AnnotationVisitor av = v.getClassBuilder().newAnnotation(JvmStdlibNames.KOTLIN_INFO_CLASS.getDescriptor(), true);
|
||||||
av.visit("version", JvmAbi.VERSION);
|
av.visit(JvmStdlibNames.ABI_VERSION_NAME, JvmAbi.VERSION);
|
||||||
AnnotationVisitor array = av.visitArray("data");
|
AnnotationVisitor array = av.visitArray(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD);
|
||||||
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
for (String string : JavaProtoBufUtil.encodeBytes(data.toBytes())) {
|
||||||
array.visit(null, string);
|
array.visit(null, string);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,15 +81,16 @@ public class JvmStdlibNames {
|
|||||||
|
|
||||||
public static final String JET_CLASS_SIGNATURE = "signature";
|
public static final String JET_CLASS_SIGNATURE = "signature";
|
||||||
|
|
||||||
|
|
||||||
public static final JvmClassName JET_OBJECT = JvmClassName.byFqNameWithoutInnerClasses("jet.JetObject");
|
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 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 JvmClassName KOTLIN_SIGNATURE = JvmClassName.byFqNameWithoutInnerClasses("jet.runtime.typeinfo.KotlinSignature");
|
||||||
|
|
||||||
public static final String KOTLIN_SIGNATURE_VALUE_METHOD = "value";
|
public static final String KOTLIN_SIGNATURE_VALUE_METHOD = "value";
|
||||||
|
|
||||||
|
public static final String KOTLIN_INFO_DATA_FIELD = "data";
|
||||||
|
|
||||||
private JvmStdlibNames() {
|
private JvmStdlibNames() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -212,7 +212,7 @@ public final class DeserializedDescriptorResolver {
|
|||||||
return new AnnotationVisitor(Opcodes.ASM4) {
|
return new AnnotationVisitor(Opcodes.ASM4) {
|
||||||
@Override
|
@Override
|
||||||
public void visit(String name, Object value) {
|
public void visit(String name, Object value) {
|
||||||
if (name.equals("version")) {
|
if (name.equals(JvmStdlibNames.ABI_VERSION_NAME)) {
|
||||||
version = (Integer) value;
|
version = (Integer) value;
|
||||||
}
|
}
|
||||||
else if (isAbiVersionCompatible(version)) {
|
else if (isAbiVersionCompatible(version)) {
|
||||||
@@ -222,7 +222,7 @@ public final class DeserializedDescriptorResolver {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AnnotationVisitor visitArray(String name) {
|
public AnnotationVisitor visitArray(String name) {
|
||||||
if (name.equals("data")) {
|
if (name.equals(JvmStdlibNames.KOTLIN_INFO_DATA_FIELD)) {
|
||||||
return stringArrayVisitor();
|
return stringArrayVisitor();
|
||||||
}
|
}
|
||||||
else if (isAbiVersionCompatible(version)) {
|
else if (isAbiVersionCompatible(version)) {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
|
|||||||
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface KotlinInfo {
|
public @interface KotlinInfo {
|
||||||
int version();
|
int abiVersion();
|
||||||
|
|
||||||
String[] data();
|
String[] data();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user