Combine all metadata annotations into one kotlin/Metadata
This commit is contained in:
+12
-1
@@ -28,6 +28,8 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class JvmAnnotationNames {
|
||||
public static final FqName METADATA = new FqName("kotlin.Metadata");
|
||||
|
||||
public static final FqName KOTLIN_CLASS = new FqName("kotlin.jvm.internal.KotlinClass");
|
||||
public static final FqName KOTLIN_FILE_FACADE = new FqName("kotlin.jvm.internal.KotlinFileFacade");
|
||||
public static final FqName KOTLIN_MULTIFILE_CLASS = new FqName("kotlin.jvm.internal.KotlinMultifileClass");
|
||||
@@ -38,8 +40,15 @@ public final class JvmAnnotationNames {
|
||||
public static final FqName KOTLIN_LOCAL_CLASS = new FqName("kotlin.jvm.internal.KotlinLocalClass");
|
||||
|
||||
public static final String VERSION_FIELD_NAME = "version";
|
||||
public static final String METADATA_VERSION_FIELD_NAME = "mv";
|
||||
public static final String BYTECODE_VERSION_FIELD_NAME = "bv";
|
||||
public static final String FILE_PART_CLASS_NAMES_FIELD_NAME = "filePartClassNames";
|
||||
public static final String MULTIFILE_CLASS_NAME_FIELD_NAME = "multifileClassName";
|
||||
public static final String KIND_FIELD_NAME = "k";
|
||||
public static final String METADATA_DATA_FIELD_NAME = "d1";
|
||||
public static final String METADATA_STRINGS_FIELD_NAME = "d2";
|
||||
public static final String SYNTHETIC_CLASS_KIND_FIELD_NAME = "xi";
|
||||
public static final String METADATA_MULTIFILE_CLASS_NAME_FIELD_NAME = "xs";
|
||||
public static final String DATA_FIELD_NAME = "data";
|
||||
public static final String STRINGS_FIELD_NAME = "strings";
|
||||
public static final String MODULE_NAME_FIELD_NAME = "moduleName";
|
||||
@@ -66,7 +75,9 @@ public final class JvmAnnotationNames {
|
||||
private static final Set<JvmClassName> NULLABILITY_ANNOTATIONS = new HashSet<JvmClassName>();
|
||||
private static final Set<JvmClassName> SPECIAL_META_ANNOTATIONS = new HashSet<JvmClassName>();
|
||||
static {
|
||||
for (FqName fqName : Arrays.asList(KOTLIN_CLASS, KOTLIN_SYNTHETIC_CLASS, KOTLIN_INTERFACE_DEFAULT_IMPLS, KOTLIN_LOCAL_CLASS)) {
|
||||
for (FqName fqName : Arrays.asList(
|
||||
METADATA, KOTLIN_CLASS, KOTLIN_SYNTHETIC_CLASS, KOTLIN_INTERFACE_DEFAULT_IMPLS, KOTLIN_LOCAL_CLASS
|
||||
)) {
|
||||
SPECIAL_ANNOTATIONS.add(JvmClassName.byFqNameWithoutInnerClasses(fqName));
|
||||
}
|
||||
|
||||
|
||||
+13
-6
@@ -29,12 +29,19 @@ class KotlinClassHeader(
|
||||
val isInterfaceDefaultImpls: Boolean,
|
||||
val isLocalClass: Boolean
|
||||
) {
|
||||
enum class Kind {
|
||||
CLASS,
|
||||
FILE_FACADE,
|
||||
MULTIFILE_CLASS,
|
||||
MULTIFILE_CLASS_PART,
|
||||
SYNTHETIC_CLASS
|
||||
// See kotlin.Metadata
|
||||
enum class Kind(val id: Int) {
|
||||
CLASS(1),
|
||||
FILE_FACADE(2),
|
||||
SYNTHETIC_CLASS(3),
|
||||
MULTIFILE_CLASS(4),
|
||||
MULTIFILE_CLASS_PART(5);
|
||||
}
|
||||
|
||||
enum class SyntheticClassKind(val id: Int) {
|
||||
FUNCTION(1),
|
||||
LOCAL_CLASS(2),
|
||||
INTERFACE_DEFAULT_IMPLS(3);
|
||||
}
|
||||
|
||||
override fun toString() = "$kind " + (if (isLocalClass) "(local) " else "") + "version=$metadataVersion"
|
||||
|
||||
Reference in New Issue
Block a user