Drop Callable and primary/secondary constructor proto messages

This commit is contained in:
Alexander Udalov
2015-10-05 11:18:06 +03:00
parent e02854db6d
commit e4efa27b76
30 changed files with 261 additions and 8881 deletions
@@ -111,13 +111,6 @@ extend Property {
optional int32 property_impl_class_name = 101 [(string_id_in_table) = true];
}
// TODO: drop
extend Callable {
optional JvmMethodSignature old_method_signature = 100;
optional JvmPropertySignature old_property_signature = 101;
optional int32 old_impl_class_name = 102 [(name_id_in_table) = true];
}
extend Type {
repeated Annotation type_annotation = 100;
optional bool is_raw = 101;
@@ -104,25 +104,6 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
loadPropertyAnnotations(propertyAnnotations, fieldAnnotations)
}
is ProtoBuf.Callable -> {
val nameResolver = container.nameResolver
if (kind == AnnotatedCallableKind.PROPERTY) {
val syntheticFunctionSignature = getPropertySignature(proto, nameResolver, synthetic = true)
val fieldSignature = getPropertySignature(proto, nameResolver, field = true)
val propertyAnnotations = syntheticFunctionSignature?.let { sig ->
findClassAndLoadMemberAnnotations(container, proto, sig)
} ?: listOf()
val fieldAnnotations = fieldSignature?.let { sig ->
findClassAndLoadMemberAnnotations(container, proto, sig, isStaticFieldInOuter(proto))
} ?: listOf()
return loadPropertyAnnotations(propertyAnnotations, fieldAnnotations)
}
val signature = getCallableSignature(proto, nameResolver, kind) ?: return emptyList()
transformAnnotations(findClassAndLoadMemberAnnotations(container, proto, signature))
}
else -> emptyList()
}
}
@@ -231,19 +212,13 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
nameResolver.getName(proto.getExtension(methodImplClassName))
proto is ProtoBuf.Property && proto.hasExtension(propertyImplClassName) ->
nameResolver.getName(proto.getExtension(propertyImplClassName))
proto is ProtoBuf.Callable && proto.hasExtension(oldImplClassName) ->
nameResolver.getName(proto.getExtension(oldImplClassName))
else -> null
}
private fun isStaticFieldInOuter(proto: MessageLite): Boolean =
when {
proto is ProtoBuf.Property && proto.hasExtension(propertySignature) ->
proto.getExtension(propertySignature).let { it.hasField() && it.field.isStaticInOuter }
proto is ProtoBuf.Callable && proto.hasExtension(oldPropertySignature) ->
proto.getExtension(oldPropertySignature).let { it.hasField() && it.field.isStaticInOuter }
else -> false
}
if (proto is ProtoBuf.Property && proto.hasExtension(propertySignature))
proto.getExtension(propertySignature).let { it.hasField() && it.field.isStaticInOuter }
else false
private fun loadAnnotationsAndInitializers(kotlinClass: KotlinJvmBinaryClass): Storage<A, C> {
val memberAnnotations = HashMap<MemberSignature, MutableList<A>>()
@@ -300,16 +275,13 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
}
private fun getPropertySignature(
proto: MessageLite,
proto: ProtoBuf.Property,
nameResolver: NameResolver,
field: Boolean = false,
synthetic: Boolean = false
): MemberSignature? {
val signature =
if (proto is ProtoBuf.Property && proto.hasExtension(propertySignature))
proto.getExtension(propertySignature)
else if (proto is ProtoBuf.Callable && proto.hasExtension(oldPropertySignature))
proto.getExtension(oldPropertySignature)
if (proto.hasExtension(propertySignature)) proto.getExtension(propertySignature)
else return null
if (field && signature.hasField()) {
@@ -339,24 +311,6 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
else -> null
}
}
proto is ProtoBuf.Callable -> {
when (kind) {
AnnotatedCallableKind.FUNCTION ->
if (proto.hasExtension(oldMethodSignature))
MemberSignature.fromMethod(nameResolver, proto.getExtension(oldMethodSignature))
else null
AnnotatedCallableKind.PROPERTY_GETTER ->
if (proto.hasExtension(oldPropertySignature))
MemberSignature.fromMethod(nameResolver, proto.getExtension(oldPropertySignature).getter)
else null
AnnotatedCallableKind.PROPERTY_SETTER ->
if (proto.hasExtension(oldPropertySignature))
MemberSignature.fromMethod(nameResolver, proto.getExtension(oldPropertySignature).setter)
else null
AnnotatedCallableKind.PROPERTY ->
getPropertySignature(proto, nameResolver, true, true)
}
}
else -> null
}
}
@@ -12,9 +12,6 @@ public final class JvmProtoBuf {
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.methodImplClassName);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.propertySignature);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.propertyImplClassName);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.oldMethodSignature);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.oldPropertySignature);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.oldImplClassName);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.typeAnnotation);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.isRaw);
registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.index);
@@ -3788,51 +3785,6 @@ public final class JvmProtoBuf {
null,
101,
com.google.protobuf.WireFormat.FieldType.INT32);
public static final int OLD_METHOD_SIGNATURE_FIELD_NUMBER = 100;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Callable { ... }</code>
*/
public static final
com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.serialization.ProtoBuf.Callable,
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature> oldMethodSignature = com.google.protobuf.GeneratedMessageLite
.newSingularGeneratedExtension(
org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance(),
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
null,
100,
com.google.protobuf.WireFormat.FieldType.MESSAGE);
public static final int OLD_PROPERTY_SIGNATURE_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Callable { ... }</code>
*/
public static final
com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.serialization.ProtoBuf.Callable,
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature> oldPropertySignature = com.google.protobuf.GeneratedMessageLite
.newSingularGeneratedExtension(
org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance(),
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance(),
org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance(),
null,
101,
com.google.protobuf.WireFormat.FieldType.MESSAGE);
public static final int OLD_IMPL_CLASS_NAME_FIELD_NUMBER = 102;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Callable { ... }</code>
*/
public static final
com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.serialization.ProtoBuf.Callable,
java.lang.Integer> oldImplClassName = com.google.protobuf.GeneratedMessageLite
.newSingularGeneratedExtension(
org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance(),
0,
null,
null,
102,
com.google.protobuf.WireFormat.FieldType.INT32);
public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100;
/**
* <code>extend .org.jetbrains.kotlin.serialization.Type { ... }</code>